MENU navbar-image

Introduction

This documentation aims to provide all the information you need to work with our API.

Branch Dashboard Report

APIs for managing Branch Dashboard Report

View branch dashboard report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/branch-report?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22branch_id%22%3A%22integer%22%2C%22descendant%22%3A%22enum%280%2C1%29%22%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/branch-report"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"branch_id":"integer","descendant":"enum(0,1)"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/branch-report',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"branch_id":"integer","descendant":"enum(0,1)"}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/branch-report'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"branch_id":"integer","descendant":"enum(0,1)"}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "integer",
            "name": "string",
            "branch_code": "string",
            "branch_id": "integer",
            "created_at": "date",
            "updated_at": "date",
            "data": {
                "id": "integer",
                "name": "string",
                "branch_code": "string",
                "branch_id": "integer",
                "created_at": "date",
                "updated_at": "date",
                "total_not_started": "integer",
                "total_inprogress": "integer",
                "total_completed": "integer",
                "total_not_completed": "integer",
                "total_user_count": "integer",
                "total_enrolled": "integer"
            },
            "total_enrolled": "integer",
            "total_not_started": "integer",
            "total_inprogress": "integer",
            "total_completed": "integer",
            "total_not_completed": "integer",
            "total_user_count": "integer"
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/branch-report

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the branches name . Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: {"branch_id":"integer","descendant":"enum(0,1)"}. Example: {"branch_id":"integer","descendant":"enum(0,1)"}

View total branch report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/branch-report-total?advanced_filter=%7B%22branch_id%22%3A%22integer%22%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/branch-report-total"
);

const params = {
    "advanced_filter": "{"branch_id":"integer"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/branch-report-total',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'advanced_filter' => '{"branch_id":"integer"}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/branch-report-total'
params = {
  'advanced_filter': '{"branch_id":"integer"}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "integer",
            "name": "string",
            "branch_code": "string",
            "branch_id": "integer",
            "created_at": "date",
            "updated_at": "date",
            "data": {
                "id": "integer",
                "name": "string",
                "branch_code": "string",
                "branch_id": "integer",
                "created_at": "date",
                "updated_at": "date",
                "total_not_started": "integer",
                "total_inprogress": "integer",
                "total_completed": "integer",
                "total_not_completed": "integer",
                "total_user_count": "integer",
                "total_enrolled": "integer"
            },
            "total_enrolled": "integer",
            "total_not_started": "integer",
            "total_inprogress": "integer",
            "total_completed": "integer",
            "total_not_completed": "integer",
            "total_user_count": "integer"
        }
    ]
}
 

Request   

GET api/branch-report-total

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: {"branch_id":"integer"}. Example: {"branch_id":"integer"}

Branches

APIs for managing branches

Retrieves all branches

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/branches" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/branches"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/branches',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/branches'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


[
    {
        "id": "integer",
        "name": "string",
        "branch_code": "string",
        "branch_id": "integer",
        "created_at": "date",
        "updated_at": "date",
        "children_recursive": [
            {
                "id": "integer",
                "name": "string",
                "branch_code": "string",
                "branch_id": "integer",
                "created_at": "date",
                "updated_at": "date",
                "children_recursive": []
            }
        ],
        "text": "string"
    }
]
 

Request   

GET api/branches

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Creates a new branch

Example request:
curl --request POST \
    "https://your_portal_url/v1/api/branches" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"language\": \"string\",
    \"name\": \"string\",
    \"branch_code\": \"string\",
    \"branch_id\": 0
}"
const url = new URL(
    "https://your_portal_url/v1/api/branches"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "language": "string",
    "name": "string",
    "branch_code": "string",
    "branch_id": 0
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://your_portal_url/v1/api/branches',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'language' => 'string',
            'name' => 'string',
            'branch_code' => 'string',
            'branch_id' => 0,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/branches'
payload = {
    "language": "string",
    "name": "string",
    "branch_code": "string",
    "branch_id": 0
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "message": "Branch created successfully.",
    "status": true
}
 

Request   

POST api/branches

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

language   string   

langauge for branch. Example: string

name   string   

The name of the branch. Example: string

branch_code   string   

The branch code of branch. Example: string

branch_id   integer  optional  

parameter required while creating children branch. Example: 0

View a branch

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/branches/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/branches/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/branches/1',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/branches/1'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


[
    {
        "id": "integer",
        "name": "string",
        "branch_code": "string",
        "branch_id": "integer",
        "created_at": "date",
        "updated_at": "date",
        "text": "string"
    }
]
 

Request   

GET api/branches/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the branch. Example: 1

branch   string   

ID of the branch to fetch. Example: eius

Update a branch

Example request:
curl --request PUT \
    "https://your_portal_url/v1/api/branches/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"language\": \"string\",
    \"name\": \"string\",
    \"branch_code\": \"string\",
    \"branch_id\": 0
}"
const url = new URL(
    "https://your_portal_url/v1/api/branches/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "language": "string",
    "name": "string",
    "branch_code": "string",
    "branch_id": 0
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://your_portal_url/v1/api/branches/1',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'language' => 'string',
            'name' => 'string',
            'branch_code' => 'string',
            'branch_id' => 0,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/branches/1'
payload = {
    "language": "string",
    "name": "string",
    "branch_code": "string",
    "branch_id": 0
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "message": "Branch updated successfully.",
    "status": true
}
 

Request   

PUT api/branches/{id}

PATCH api/branches/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the branch. Example: 1

branch   string   

ID of the branch to fetch. Example: recusandae

Body Parameters

language   string   

langauge for branch. Example: string

name   string   

The name of the branch. Example: string

branch_code   string   

The branch code of branch. Example: string

branch_id   integer  optional  

parameter required while creating children branch. Example: 0

Delete a branch

Example request:
curl --request DELETE \
    "https://your_portal_url/v1/api/branches/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/branches/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://your_portal_url/v1/api/branches/1',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/branches/1'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "message": "branch deleted successfully",
    "status": false
}
 

Example response (406):


{
    "message": "Unable to delete default branch.",
    "status": false
}
 

Example response (406):


{
    "message": "Unable to delete branch as branch exists.",
    "status": false
}
 

Example response (406):


{
    "message": "Unable to delete branch as user exists.",
    "status": false
}
 

Request   

DELETE api/branches/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the branch. Example: 1

branch   string   

ID of the branch to fetch. Example: temporibus

Courses

APIs for managing courses

Retrieves all courses, filtered on input parameters

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/courses?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22branch_id%22%3A%22integer%22%2C%22descendant%22%3A%22enum%280%2C1%29%22%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/courses"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"branch_id":"integer","descendant":"enum(0,1)"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/courses',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"branch_id":"integer","descendant":"enum(0,1)"}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/courses'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"branch_id":"integer","descendant":"enum(0,1)"}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "integer",
            "parent_course_id": "integer",
            "name": "string",
            "type": "string",
            "description": "string",
            "thumbnail": "string",
            "code": "string",
            "credits": "string",
            "material": "string",
            "original_name": "string",
            "language_id": "integer",
            "status": "string",
            "category_id": "integer",
            "created_by": "integer",
            "updated_by": "date",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "training_materials_count": "integer",
            "keywords": [
                {
                    "id": "integer",
                    "name": "string",
                    "created_at": "date",
                    "updated_at": "date",
                    "pivot": {
                        "course_id": "integer",
                        "keyword_id": "integer"
                    }
                }
            ],
            "language": {
                "id": "integer",
                "code": "string",
                "text": "string",
                "created_at": "date",
                "updated_at": "date"
            },
            "course_setting": {
                "id": "integer",
                "course_id": "integer",
                "navigation": "string",
                "completion": "string",
                "enrollment": "string",
                "start_date": "date",
                "end_date": "date",
                "duration_days": "integer",
                "duration_from": "string",
                "average_hours": "integer",
                "average_minutes": "integer",
                "average_seconds": "integer",
                "certificate_id": "integer",
                "certificate_validity": "string",
                "for_days": "integer",
                "till_date": "date",
                "allow_re_enroll_course": "interger",
                "before_days_to_re_enroll": "integer",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date"
            },
            "course_name": "string"
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/courses

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the courses name,description and code. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: advanced_filter:{"category_id": id of category,"descendant":value: 0 or 1}. Example: {"branch_id":"integer","descendant":"enum(0,1)"}

View a course

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/courses/11" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/courses/11"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/courses/11',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/courses/11'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (400):


{
    "message": "General Error"
}
 

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (200):


{
    "id": "integer",
    "parent_course_id": "integer",
    "name": "string",
    "type": "string",
    "description": "string",
    "thumbnail": "string",
    "code": "string",
    "credits": "integer",
    "material": "integer",
    "original_name": "integer",
    "language_id": "integer",
    "status": "string",
    "category_id": "string",
    "created_by": "integer",
    "updated_by": "integer",
    "created_at": "date",
    "updated_at": "date",
    "deleted_at": "date",
    "completion_material": [
        "integer"
    ],
    "show_evaluate_saq": "boolean",
    "keywords": [
        {
            "id": "integer",
            "name": "string",
            "created_at": "date",
            "updated_at": "date",
            "pivot": {
                "course_id": "integer",
                "keyword_id": "integer"
            }
        }
    ],
    "training_materials": [
        {
            "id": "integer",
            "parent_training_material_id": "integer",
            "title": "string",
            "description": "string",
            "thumbnail": "string",
            "file": "string",
            "original_name": "string",
            "view_mode_desktop": "string",
            "view_mode_tablet": "string",
            "view_mode_mobile_app": "string",
            "type": "string",
            "created_by": "integer",
            "updated_by": "date",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "pivot": {
                "course_id": "integer",
                "training_material_id": "integer",
                "checked_for_course_completion": "boolean",
                "publish_from": "date",
                "publish_to": "date",
                "sequence_number": "integer",
                "number_of_views": "integer",
                "set_delay": "time",
                "number_of_attempts": "integer",
                "folder_id": "integer",
                "deleted_at": "date"
            },
            "users": [
                {
                    "id": "integer",
                    "course_user_id": "integer",
                    "user_id": "integer",
                    "course_id": "integer",
                    "training_material_id": "integer",
                    "assign_date": "date",
                    "first_access_date": "date",
                    "last_access_date": "date",
                    "completion_date": "date",
                    "score": "integer",
                    "status": "string",
                    "assessment_data": "string",
                    "answer_data": "string",
                    "attempt": "integer",
                    "level": "string",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                }
            ]
        }
    ],
    "course_setting": {
        "id": "integer",
        "course_id": "integer",
        "navigation": "string",
        "completion": "string",
        "enrollment": "string",
        "start_date": "date",
        "end_date": "date",
        "duration_days": "integer",
        "duration_from": "string",
        "average_hours": "string",
        "average_minutes": "string",
        "average_seconds": "string",
        "certificate_id": "integer",
        "certificate_validity": "string",
        "for_days": "string",
        "till_date": "date",
        "allow_re_enroll_course": "integer",
        "before_days_to_re_enroll": "integer",
        "created_at": "date",
        "updated_at": "date",
        "deleted_at": "date"
    },
    "course_notification": {
        "id": "integer",
        "course_id": "integer",
        "on_course_assignment_checkbox": "boolean",
        "on_course_completion_checkbox": "boolean",
        "on_course_unassignment_checkbox": "boolean",
        "for_course_not_started_notification_afterdays_checkbox": "boolean",
        "for_course_not_started_notification_afterdays": "boolean",
        "for_course_about_to_start_notification_before_days_checkbox": "boolean",
        "for_course_about_to_start_notification_before_days": "boolean",
        "for_certificate_about_to_expire_notification_before_checkbox": "boolean",
        "for_certificate_about_to_expire_notification_before": "boolean",
        "for_expired_course_notification_before_days_checkbox": "boolean",
        "for_expired_course_notification_before_days": "boolean",
        "for_expired_course_notification_after_days_checkbox": "boolean",
        "for_expired_course_notification_after_days": "boolean",
        "created_at": "date",
        "updated_at": "date"
    }
}
 

Example response (404):


{
    "message": "No query results for model [App\\Models\\Course] ID"
}
 

Request   

GET api/courses/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the course. Example: 11

course   string   

ID of the course to fetch. Example: voluptatem

Retrieves all users that are assigned or unassigned to particular course , filtered on input parameters

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/courses/assign-users/aliquid/enum(0,1)?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=inventore" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/courses/assign-users/aliquid/enum(0,1)"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "inventore",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/courses/assign-users/aliquid/enum(0,1)',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => 'inventore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/courses/assign-users/aliquid/enum(0,1)'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': 'inventore',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "integer",
            "username": "string",
            "first_name": "string",
            "last_name": "string",
            "name": "string",
            "email": "string",
            "email_verified_at": "date",
            "password_updated": "integer",
            "profile_picture": "string",
            "level": "string",
            "status": "integer",
            "language": "string",
            "date_format": "string",
            "timezone": "string",
            "permission_id": "integer",
            "role_id": "integer",
            "expire_on": "date",
            "created_at": "date",
            "updated_at": "date",
            "courses": [
                {
                    "id": "integer",
                    "parent_course_id": "integer",
                    "name": "string",
                    "type": "string",
                    "description": "string",
                    "thumbnail": "string",
                    "code": "string",
                    "credits": "integer",
                    "material": "string",
                    "original_name": "string",
                    "language_id": "integer",
                    "status": "string",
                    "category_id": "integer",
                    "created_by": "integer",
                    "updated_by": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date",
                    "pivot": {
                        "user_id": "integer",
                        "course_id": "integer"
                    }
                }
            ],
            "user_status": "string"
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Example response (200):


{
    "data": [
        {
            "id": "integer",
            "username": "string",
            "first_name": "string",
            "last_name": "string",
            "name": "string",
            "email": "string",
            "email_verified_at": "date",
            "password_updated": "integer",
            "profile_picture": "string",
            "level": "string",
            "status": "integer",
            "language": "string",
            "date_format": "string",
            "timezone": "string",
            "permission_id": "integer",
            "role_id": "integer",
            "expire_on": "date",
            "created_at": "date",
            "updated_at": "date",
            "courses": [],
            "user_status": "string"
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/courses/assign-users/{id}/{status}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

ID of the course to fetch. Example: aliquid

status   string   

status of the course. example assigned users: enabled and unassigned users:disabled. Example: enum(0,1)

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the users username,first name, last name and email. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. Example: inventore

Assign course to user using branch

Example request:
curl --request POST \
    "https://your_portal_url/v1/api/courses/get-users-using-branch/odit?ids=voluptas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/courses/get-users-using-branch/odit"
);

const params = {
    "ids": "voluptas",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://your_portal_url/v1/api/courses/get-users-using-branch/odit',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'ids' => 'voluptas',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/courses/get-users-using-branch/odit'
params = {
  'ids': 'voluptas',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "message": "Users assigned successfully.",
    "status": true
}
 

Example response (404):


{
    "message": "No query results for model [App\\Models\\Course] ID"
}
 

Request   

POST api/courses/get-users-using-branch/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

ID of the course to fetch. Example: odit

Query Parameters

ids   string   

Array of selected branch id. Example: voluptas

Assign course to user

Example request:
curl --request POST \
    "https://your_portal_url/v1/api/courses/assign/magni?ids=delectus" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/courses/assign/magni"
);

const params = {
    "ids": "delectus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://your_portal_url/v1/api/courses/assign/magni',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'ids' => 'delectus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/courses/assign/magni'
params = {
  'ids': 'delectus',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "message": "Users assigned successfully.",
    "status": true
}
 

Example response (404):


{
    "message": "No query results for model [App\\Models\\Course] ID"
}
 

Request   

POST api/courses/assign/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

ID of the course to fetch. Example: magni

Query Parameters

ids   string   

Array of selected user id. Example: delectus

Unassign course to user

Example request:
curl --request POST \
    "https://your_portal_url/v1/api/courses/unassign/exercitationem?ids=molestiae" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/courses/unassign/exercitationem"
);

const params = {
    "ids": "molestiae",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://your_portal_url/v1/api/courses/unassign/exercitationem',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'ids' => 'molestiae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/courses/unassign/exercitationem'
params = {
  'ids': 'molestiae',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "message": "Users unassigned successfully.",
    "status": true
}
 

Example response (404):


{
    "message": "No query results for model [App\\Models\\Course] ID"
}
 

Request   

POST api/courses/unassign/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

ID of the course to fetch. Example: exercitationem

Query Parameters

ids   string   

Array of selected user id. Example: molestiae

View course settings

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/courses/course-setting/voluptas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/courses/course-setting/voluptas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/courses/course-setting/voluptas',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/courses/course-setting/voluptas'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (400):


{
    "message": "General Error"
}
 

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (200):


{
    "id": "integer",
    "parent_course_id": "integer",
    "name": "string",
    "type": "string",
    "description": "string",
    "thumbnail": "string",
    "code": "string",
    "credits": "integer",
    "material": "integer",
    "original_name": "integer",
    "language_id": "integer",
    "status": "string",
    "category_id": "string",
    "created_by": "integer",
    "updated_by": "integer",
    "created_at": "date",
    "updated_at": "date",
    "deleted_at": "date",
    "completion_material": [
        "integer"
    ],
    "show_evaluate_saq": "boolean",
    "keywords": [
        {
            "id": "integer",
            "name": "string",
            "created_at": "date",
            "updated_at": "date",
            "pivot": {
                "course_id": "integer",
                "keyword_id": "integer"
            }
        }
    ],
    "training_materials": [
        {
            "id": "integer",
            "parent_training_material_id": "integer",
            "title": "string",
            "description": "string",
            "thumbnail": "string",
            "file": "string",
            "original_name": "string",
            "view_mode_desktop": "string",
            "view_mode_tablet": "string",
            "view_mode_mobile_app": "string",
            "type": "string",
            "created_by": "integer",
            "updated_by": "date",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "pivot": {
                "course_id": "integer",
                "training_material_id": "integer",
                "checked_for_course_completion": "boolean",
                "publish_from": "date",
                "publish_to": "date",
                "sequence_number": "integer",
                "number_of_views": "integer",
                "set_delay": "time",
                "number_of_attempts": "integer",
                "folder_id": "integer",
                "deleted_at": "date"
            }
        }
    ],
    "course_setting": {
        "id": "integer",
        "course_id": "integer",
        "navigation": "string",
        "completion": "string",
        "enrollment": "string",
        "start_date": "date",
        "end_date": "date",
        "duration_days": "integer",
        "duration_from": "string",
        "average_hours": "string",
        "average_minutes": "string",
        "average_seconds": "string",
        "certificate_id": "integer",
        "certificate_validity": "string",
        "for_days": "string",
        "till_date": "date",
        "allow_re_enroll_course": "integer",
        "before_days_to_re_enroll": "integer",
        "created_at": "date",
        "updated_at": "date",
        "deleted_at": "date"
    }
}
 

Example response (404):


{
    "message": "No query results for model [App\\Models\\Course] ID"
}
 

Request   

GET api/courses/course-setting/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

ID of the course to fetch. Example: voluptas

Courses User Report

APIs for managing Courses User Report

View course user report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/courses-users?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22name%22%3A%22string%22%2C%22type%22%3A%22string%22%2C%22code%22%3A%22string%22%2C%22category%22%3A%22string%22%2C%22category_id%22%3A%22integer%22%2C%22criteria%22%3A%22string%22%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/courses-users"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"name":"string","type":"string","code":"string","category":"string","category_id":"integer","criteria":"string"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/courses-users',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"name":"string","type":"string","code":"string","category":"string","category_id":"integer","criteria":"string"}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/courses-users'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"name":"string","type":"string","code":"string","category":"string","category_id":"integer","criteria":"string"}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "integer",
            "parent_course_id": "integer",
            "name": "string",
            "type": "string",
            "description": "string",
            "thumbnail": "string",
            "code": "string",
            "credits": "integer",
            "material": "string",
            "original_name": "string",
            "language_id": "integer",
            "status": "string",
            "category_id": "integer",
            "created_by": "integer",
            "updated_by": "intger",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "course_users_count": "integer",
            "not_started": "integer",
            "completed": "integer",
            "not_completed": "integer",
            "in_progress": "integer",
            "language": {
                "id": "integer",
                "code": "string",
                "text": "string",
                "created_at": "date",
                "updated_at": "date"
            },
            "course_setting": {
                "id": "integer",
                "course_id": "integer",
                "navigation": "string",
                "completion": "string",
                "enrollment": "string",
                "start_date": "date",
                "end_date": "date",
                "duration_days": "integer",
                "duration_from": "string",
                "average_hours": "string",
                "average_minutes": "string",
                "average_seconds": "string",
                "certificate_id": "integer",
                "certificate_validity": "string",
                "for_days": "integer",
                "till_date": "date",
                "allow_re_enroll_course": "integer",
                "before_days_to_re_enroll": "integer",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date"
            },
            "course_name": "string"
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/reports/courses-users

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the courses name and code. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: {"name":"string","type":"string","code":"string","category":"string","category_id":"integer","criteria":"string"}. Example: {"name":"string","type":"string","code":"string","category":"string","category_id":"integer","criteria":"string"}

Download course user report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/courses-users/csv" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/courses-users/csv"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/courses-users/csv',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/courses-users/csv'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "integer",
            "parent_course_id": "integer",
            "name": "string",
            "type": "string",
            "description": "string",
            "thumbnail": "string",
            "code": "string",
            "credits": "integer",
            "material": "string",
            "original_name": "string",
            "language_id": "integer",
            "status": "string",
            "category_id": "integer",
            "created_by": "integer",
            "updated_by": "intger",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "course_users_count": "integer",
            "not_started": "integer",
            "completed": "integer",
            "not_completed": "integer",
            "in_progress": "integer",
            "language": {
                "id": "integer",
                "code": "string",
                "text": "string",
                "created_at": "date",
                "updated_at": "date"
            },
            "course_setting": {
                "id": "integer",
                "course_id": "integer",
                "navigation": "string",
                "completion": "string",
                "enrollment": "string",
                "start_date": "date",
                "end_date": "date",
                "duration_days": "integer",
                "duration_from": "string",
                "average_hours": "string",
                "average_minutes": "string",
                "average_seconds": "string",
                "certificate_id": "integer",
                "certificate_validity": "string",
                "for_days": "integer",
                "till_date": "date",
                "allow_re_enroll_course": "integer",
                "before_days_to_re_enroll": "integer",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date"
            },
            "course_name": "string"
        }
    ]
}
 

Request   

GET api/reports/courses-users/csv

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Enrollments

APIs for managing user side APIs

Retrieves all user assigned courses, filtered on input parameters

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/user/get-user-assigned-courses?sort=string&filter=string&courseStatus=string" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/user/get-user-assigned-courses"
);

const params = {
    "sort": "string",
    "filter": "string",
    "courseStatus": "string",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/user/get-user-assigned-courses',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort' => 'string',
            'filter' => 'string',
            'courseStatus' => 'string',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/user/get-user-assigned-courses'
params = {
  'sort': 'string',
  'filter': 'string',
  'courseStatus': 'string',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "current_page": "integer",
    "data": [
        {
            "id": "integer",
            "parent_course_id": "integer",
            "name": "string",
            "type": "string",
            "description": "string",
            "thumbnail": "string",
            "code": "string",
            "credits": "integer",
            "material": "string",
            "original_name": "string",
            "language_id": "integer",
            "status": "string",
            "category_id": "integer",
            "created_by": "integer",
            "updated_by": "integer",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "completion_material": "integer",
            "course_setting": {
                "id": "integer",
                "course_id": "integer",
                "navigation": "string",
                "completion": "string",
                "enrollment": "string",
                "start_date": "date",
                "end_date": "date",
                "duration_days": "integer",
                "duration_from": "string",
                "average_hours": "string",
                "average_minutes": "string",
                "average_seconds": "string",
                "certificate_id": "string",
                "certificate_validity": "string",
                "for_days": "integer",
                "till_date": "date",
                "allow_re_enroll_course": "integer",
                "before_days_to_re_enroll": "integer",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date"
            },
            "keywords": [
                {
                    "id": "integer",
                    "name": "string",
                    "created_at": "date",
                    "updated_at": "date",
                    "pivot": {
                        "course_id": "integer",
                        "keyword_id": "integer"
                    }
                }
            ],
            "language": {
                "id": "integer",
                "code": "string",
                "text": "string",
                "created_at": "date",
                "updated_at": "date"
            },
            "training_materials": [
                {
                    "id": "integer",
                    "parent_training_material_id": "integer",
                    "title": "string",
                    "description": "string",
                    "thumbnail": "string",
                    "file": "string",
                    "original_name": "string",
                    "view_mode_desktop": "string",
                    "view_mode_tablet": "string",
                    "view_mode_mobile_app": "string",
                    "type": "string",
                    "created_by": "integer",
                    "updated_by": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date",
                    "pivot": {
                        "course_id": "integer",
                        "training_material_id": "integer",
                        "checked_for_course_completion": "integer",
                        "publish_from": "date",
                        "publish_to": "date",
                        "sequence_number": "integer",
                        "number_of_views": "string",
                        "set_delay": "string",
                        "number_of_attempts": "integer",
                        "folder_id": "integer",
                        "deleted_at": "date"
                    }
                }
            ],
            "course_users": [
                {
                    "id": "integer",
                    "user_id": "integer",
                    "course_id": "integer",
                    "available_from": "date",
                    "available_to": "date",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "first_access_date": "date",
                    "last_access_date": "date",
                    "completion_date": "date",
                    "status": "string",
                    "assigned_date": "date",
                    "assigned_by": "integer",
                    "score": "integer",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "string",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                }
            ]
        }
    ],
    "first_page_url": "url",
    "from": "integer",
    "last_page": "integer",
    "last_page_url": "url",
    "next_page_url": "url",
    "path": "url",
    "per_page": "integer",
    "prev_page_url": "url",
    "to": "integer",
    "total": "integer"
}
 

Request   

GET api/user/get-user-assigned-courses

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort   string   

Sorting Direction: a-z = A-Z, z-a = Z-A, newest_to_oldest=Newest to Oldest,oldest_to_newest=Oldest to Newest,code_ascending=Code(Ascending Order),code_descending=Code(Descending Order) default - newest_to_oldest. Example: string

filter   string  optional  

Search text in the courses name. Default empty array. OR is performed across array items. Example: string

courseStatus   string  optional  

filter courses based on course status. not_started=Not Started,in_progress=In Progress,completed=Completed,not_completed=Not Completed default-null. Example: string

Retrieves assigned course details

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/user/get-course-details/ut" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/user/get-course-details/ut"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/user/get-course-details/ut',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/user/get-course-details/ut'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "id": "integer",
    "parent_course_id": "integer",
    "name": "string",
    "type": "string",
    "description": "string",
    "thumbnail": "string",
    "code": "string",
    "credits": "integer",
    "material": "string",
    "original_name": "string",
    "language_id": "integer",
    "status": "string",
    "category_id": "integer",
    "created_by": "integer",
    "updated_by": "integer",
    "created_at": "date",
    "updated_at": "date",
    "deleted_at": "date",
    "startDateForLaunch": "boolean",
    "currentDate": "date",
    "folders": [
        {
            "id": "integer",
            "name": "string",
            "course_id": "integer",
            "folder_id": "integer",
            "parent_folder_id": "integer",
            "folder_type": "string",
            "sequence_number": "integer",
            "created_by": "integer",
            "updated_by": "integer",
            "created_at": "date",
            "updated_at": "date",
            "training_materials": [
                {
                    "id": "integer",
                    "parent_training_material_id": "integer",
                    "title": "string",
                    "description": "string",
                    "thumbnail": "string",
                    "file": "string",
                    "original_name": "string",
                    "view_mode_desktop": "string",
                    "view_mode_tablet": "string",
                    "view_mode_mobile_app": "string",
                    "type": "string",
                    "created_by": "integer",
                    "updated_by": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date",
                    "pivot": {
                        "folder_id": "integer",
                        "training_material_id": "integer",
                        "checked_for_course_completion": "integer",
                        "publish_from": "date",
                        "publish_to": "date",
                        "sequence_number": "integer",
                        "number_of_views": "string",
                        "set_delay": "string",
                        "number_of_attempts": "integer",
                        "launchTrainingMaterial": "boolean",
                        "launchMaterialOnNumberofViews": "boolean"
                    }
                }
            ],
            "children_recursive_training_materials": [
                {
                    "id": "integer",
                    "name": "string",
                    "course_id": "integer",
                    "folder_id": "integer",
                    "parent_folder_id": "integer",
                    "folder_type": "integer",
                    "sequence_number": "integer",
                    "created_by": "integer",
                    "updated_by": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "training_materials": [],
                    "children_recursive_training_materials": []
                }
            ]
        }
    ],
    "folder_materials": [
        {
            "id": "integer",
            "parent_training_material_id": "integer",
            "title": "string",
            "description": "string",
            "thumbnail": "string",
            "file": "string",
            "original_name": "string",
            "view_mode_desktop": "string",
            "view_mode_tablet": "string",
            "view_mode_mobile_app": "string",
            "type": "string",
            "created_by": "integer",
            "updated_by": "integer",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "pivot": {
                "folder_id": "integer",
                "training_material_id": "integer",
                "checked_for_course_completion": "integer",
                "publish_from": "date",
                "publish_to": "date",
                "sequence_number": "integer",
                "number_of_views": "string",
                "set_delay": "string",
                "number_of_attempts": "integer",
                "launchTrainingMaterial": "boolean",
                "launchMaterialOnNumberofViews": "boolean"
            }
        }
    ],
    "completion_material": "integer",
    "selected_material": [
        "integer",
        "integer",
        "integer"
    ],
    "keywords": [
        {
            "id": "integer",
            "name": "string",
            "created_at": "date",
            "updated_at": "date",
            "pivot": {
                "course_id": "integer",
                "keyword_id": "integer"
            }
        }
    ],
    "training_materials": [
        {
            "id": "integer",
            "parent_training_material_id": "integer",
            "title": "string",
            "description": "string",
            "thumbnail": "string",
            "file": "string",
            "original_name": "string",
            "view_mode_desktop": "string",
            "view_mode_tablet": "string",
            "view_mode_mobile_app": "string",
            "type": "string",
            "created_by": "integer",
            "updated_by": "integer",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "pivot": {
                "course_id": "integer",
                "training_material_id": "integer",
                "checked_for_course_completion": "integer",
                "publish_from": "date",
                "publish_to": "date",
                "sequence_number": "integer",
                "number_of_views": "string",
                "set_delay": "string",
                "number_of_attempts": "integer",
                "folder_id": "integer",
                "deleted_at": "date"
            }
        }
    ],
    "course_setting": {
        "id": "integer",
        "course_id": "integer",
        "navigation": "string",
        "completion": "string",
        "enrollment": "string",
        "start_date": "date",
        "end_date": "date",
        "duration_days": "integer",
        "duration_from": "string",
        "average_hours": "integer",
        "average_minutes": "integer",
        "average_seconds": "integer",
        "certificate_id": "integer",
        "certificate_validity": "string",
        "for_days": "integer",
        "till_date": "date",
        "allow_re_enroll_course": "interger",
        "before_days_to_re_enroll": "integer",
        "created_at": "date",
        "updated_at": "date",
        "deleted_at": "date"
    },
    "course_notification": {
        "id": "integer",
        "course_id": "integer",
        "on_course_assignment_checkbox": "boolean",
        "on_course_completion_checkbox": "boolean",
        "on_course_unassignment_checkbox": "boolean",
        "for_course_not_started_notification_afterdays_checkbox": "boolean",
        "for_course_not_started_notification_afterdays": "boolean",
        "for_course_about_to_start_notification_before_days_checkbox": "boolean",
        "for_course_about_to_start_notification_before_days": "boolean",
        "for_certificate_about_to_expire_notification_before_checkbox": "boolean",
        "for_certificate_about_to_expire_notification_before": "boolean",
        "for_expired_course_notification_before_days_checkbox": "boolean",
        "for_expired_course_notification_before_days": "boolean",
        "for_expired_course_notification_after_days_checkbox": "boolean",
        "for_expired_course_notification_after_days": "boolean",
        "created_at": "date",
        "updated_at": "date"
    },
    "folder": [],
    "course_users": [
        {
            "id": "integer",
            "user_id": "integer",
            "course_id": "integer",
            "available_from": "date",
            "available_to": "date",
            "duration_days": "integer",
            "duration_from": "integer",
            "first_access_date": "date",
            "last_access_date": "date",
            "completion_date": "date",
            "status": "string",
            "assigned_date": "date",
            "assigned_by": "integer",
            "score": "integer",
            "certificate_id": "integer",
            "certificate_validity": "string",
            "for_days": "integer",
            "till_date": "date",
            "allow_re_enroll_course": "integer",
            "before_days_to_re_enroll": "intger",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date"
        }
    ]
}
 

Request   

GET api/user/get-course-details/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of course to fetch Example: ut

Retrieves certificate of particular course

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/user/certificate/aut" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/user/certificate/aut"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/user/certificate/aut',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/user/certificate/aut'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "name": "string",
    "code": "string",
    "description": "string",
    "background_image": "url"
}
 

Request   

GET api/user/certificate/{course_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_user_id   string   

The ID of assigned course to fetch Example: aut

Get calender view

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/user/get-calendar-view-detail" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/user/get-calendar-view-detail"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/user/get-calendar-view-detail',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/user/get-calendar-view-detail'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "id": "integer",
    "user_id": "integer",
    "course_id": "integer",
    "duration_days": "integer",
    "duration_from": "string",
    "first_access_date": "date",
    "for_days": "integer",
    "last_access_date": "date",
    "score": "integer",
    "allow_re_enroll_course": "integer",
    "assigned_by": "integer",
    "assigned_date": "date",
    "available_from": "date",
    "available_to": "date",
    "before_days_to_re_enroll": "integer",
    "certificate_id": "integer",
    "certificate_validity": "string",
    "completion_date": "date",
    "status": "string",
    "till_date": "date",
    "created_at": "date",
    "deleted_at": "date",
    "updated_at": "date",
    "course": {
        "id": "integer",
        "parent_course_id": "integer",
        "name": "string",
        "description": "string",
        "thumbnail": "string",
        "type": "string",
        "category_id": "integer",
        "code": "string",
        "credits": "integer",
        "language_id": "integer",
        "material": "string",
        "original_name": "string",
        "status": "string",
        "created_at": "date",
        "created_by": "integer",
        "updated_at": "date",
        "deleted_at": "date",
        "updated_by": "integer"
    },
    "user": {
        "id": "integer",
        "username": "string",
        "first_name": "string",
        "last_name": "string",
        "name": "string",
        "email": "string",
        "email_verified_at": "date",
        "password_updated": "integer",
        "profile_picture": "string",
        "level": "string",
        "status": "integer",
        "language": "string",
        "date_format": "string",
        "timezone": "string",
        "permission_id": "integer",
        "role_id": "integer",
        "expire_on": "date",
        "created_at": "date",
        "updated_at": "date"
    }
}
 

Request   

GET api/user/get-calendar-view-detail

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Group Course Report

APIs for managing Group Course Report

View group course report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/groups-courses?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22course%22%3A%7B%22name%22%3A%22string%22%2C%22code%22%3A%22string%22%2C%22type%22%3A%22string%22%2C%22criteria%22%3A%22string%22%2C%22category%22%3A%22string%22%2C%22category_id%22%3A%22integer%22%7D%2C%22group%22%3A%7B%22name%22%3A%22string%22%7D%2C%22criteria%22%3A%22string%22%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/groups-courses"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"group":{"name":"string"},"criteria":"string"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/groups-courses',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"group":{"name":"string"},"criteria":"string"}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/groups-courses'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"group":{"name":"string"},"criteria":"string"}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "group_id": "integer",
            "course_id": "integer",
            "enrolled": "integer",
            "not_started": "integer",
            "in_progress": "integer",
            "completed": "integer",
            "not_completed": "integer",
            "group": {
                "id": "integer",
                "name": "string",
                "description": "string",
                "branch_id": "integer",
                "role_id": "integer",
                "additional_field_id": "integer",
                "assignment_type": "string",
                "apply_existing_user": "string",
                "criteria": "string",
                "user_id": "integer",
                "created_at": "date",
                "updated_at": "date",
                "group_members": "integer"
            },
            "course": {
                "id": "integer",
                "parent_course_id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "date",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "course_name": "string"
            }
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/reports/groups-courses

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the groups name and courses name,code Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: {"course":{"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"group":{"name":"string"},"criteria":"string"}. Example: {"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"group":{"name":"string"},"criteria":"string"}

Download group course report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/groups-courses/csv" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/groups-courses/csv"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/groups-courses/csv',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/groups-courses/csv'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "group_id": "integer",
            "course_id": "integer",
            "enrolled": "integer",
            "not_started": "integer",
            "in_progress": "integer",
            "completed": "integer",
            "not_completed": "integer",
            "group": {
                "id": "integer",
                "name": "string",
                "description": "string",
                "branch_id": "integer",
                "role_id": "integer",
                "additional_field_id": "integer",
                "assignment_type": "string",
                "apply_existing_user": "string",
                "criteria": "string",
                "user_id": "integer",
                "created_at": "date",
                "updated_at": "date",
                "group_members": "integer"
            },
            "course": {
                "id": "integer",
                "parent_course_id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "date",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "course_name": "string"
            }
        }
    ]
}
 

Request   

GET api/reports/groups-courses/csv

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Learning Paths

APIs for managing learning path

Retrieves all learning paths, filtered on input parameters

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/learning-paths?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22branch_id%22%3A%22integer%22%2C%22descendant%22%3A%22enum%280%2C1%29%22%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/learning-paths"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"branch_id":"integer","descendant":"enum(0,1)"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/learning-paths',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"branch_id":"integer","descendant":"enum(0,1)"}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/learning-paths'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"branch_id":"integer","descendant":"enum(0,1)"}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "integer",
            "parent_course_id": "integer",
            "name": "string",
            "type": "string",
            "description": "string",
            "thumbnail": "string",
            "code": "string",
            "credits": "string",
            "material": "string",
            "original_name": "string",
            "language_id": "integer",
            "status": "string",
            "category_id": "integer",
            "created_by": "integer",
            "updated_by": "date",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "courses_count": "integer",
            "keywords": [
                {
                    "id": "integer",
                    "name": "string",
                    "created_at": "date",
                    "updated_at": "date",
                    "pivot": {
                        "course_id": "integer",
                        "keyword_id": "integer"
                    }
                }
            ],
            "language": {
                "id": "integer",
                "code": "string",
                "text": "string",
                "created_at": "date",
                "updated_at": "date"
            },
            "learning_path_setting": {
                "id": "integer",
                "course_id": "integer",
                "navigation": "string",
                "completion": "string",
                "enrollment": "string",
                "start_date": "date",
                "end_date": "date",
                "duration_days": "integer",
                "duration_from": "string",
                "average_hours": "integer",
                "average_minutes": "integer",
                "average_seconds": "integer",
                "certificate_id": "integer",
                "certificate_validity": "string",
                "for_days": "integer",
                "till_date": "date",
                "allow_re_enroll_course": "interger",
                "before_days_to_re_enroll": "integer",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date"
            },
            "learning_parh_name": "string"
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/learning-paths

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the courses name,description and code. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: advanced_filter:{"category_id": id of category,"descendant":value: 0 or 1}. Example: {"branch_id":"integer","descendant":"enum(0,1)"}

View a learning path

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/learning-paths/5" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/learning-paths/5"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/learning-paths/5',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/learning-paths/5'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (400):


{
    "message": "General Error"
}
 

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (200):


{
    "id": "integer",
    "parent_course_id": "integer",
    "name": "string",
    "type": "string",
    "description": "string",
    "thumbnail": "string",
    "code": "string",
    "credits": "integer",
    "material": "integer",
    "original_name": "integer",
    "language_id": "integer",
    "status": "string",
    "category_id": "string",
    "created_by": "integer",
    "updated_by": "integer",
    "created_at": "date",
    "updated_at": "date",
    "deleted_at": "date",
    "completion_material": [
        "integer"
    ],
    "show_evaluate_saq": "boolean",
    "keywords": [
        {
            "id": "integer",
            "name": "string",
            "created_at": "date",
            "updated_at": "date",
            "pivot": {
                "course_id": "integer",
                "keyword_id": "integer"
            }
        }
    ],
    "courses": [
        {
            "id": "integer",
            "parent_training_material_id": "integer",
            "title": "string",
            "description": "string",
            "thumbnail": "string",
            "file": "string",
            "original_name": "string",
            "view_mode_desktop": "string",
            "view_mode_tablet": "string",
            "view_mode_mobile_app": "string",
            "type": "string",
            "created_by": "integer",
            "updated_by": "date",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "pivot": {
                "learning_path_id": "integer",
                "course_id": "integer",
                "checked_for_course_completion": "boolean",
                "publish_from": "date",
                "publish_to": "date",
                "sequence_number": "integer",
                "number_of_views": "integer",
                "set_delay": "time",
                "number_of_attempts": "integer",
                "folder_id": "integer",
                "deleted_at": "date"
            },
            "users": [
                {
                    "id": "integer",
                    "course_user_id": "integer",
                    "user_id": "integer",
                    "course_id": "integer",
                    "training_material_id": "integer",
                    "assign_date": "date",
                    "first_access_date": "date",
                    "last_access_date": "date",
                    "completion_date": "date",
                    "score": "integer",
                    "status": "string",
                    "assessment_data": "string",
                    "answer_data": "string",
                    "attempt": "integer",
                    "level": "string",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                }
            ]
        }
    ],
    "learning_path_setting": {
        "id": "integer",
        "course_id": "integer",
        "navigation": "string",
        "completion": "string",
        "enrollment": "string",
        "start_date": "date",
        "end_date": "date",
        "duration_days": "integer",
        "duration_from": "string",
        "average_hours": "string",
        "average_minutes": "string",
        "average_seconds": "string",
        "certificate_id": "integer",
        "certificate_validity": "string",
        "for_days": "string",
        "till_date": "date",
        "allow_re_enroll_course": "integer",
        "before_days_to_re_enroll": "integer",
        "created_at": "date",
        "updated_at": "date",
        "deleted_at": "date"
    },
    "learning_path_notification": {
        "id": "integer",
        "course_id": "integer",
        "on_lp_assignment_checkbox": "boolean",
        "on_lp_completion_checkbox": "boolean",
        "on_lp_unassignment_checkbox": "boolean",
        "for_lp_not_started_notification_afterdays_checkbox": "boolean",
        "for_lp_not_started_notification_afterdays": "boolean",
        "for_lp_about_to_start_notification_before_days_checkbox": "boolean",
        "for_lp_about_to_start_notification_before_days": "boolean",
        "for_certificate_about_to_expire_notification_before_checkbox": "boolean",
        "for_certificate_about_to_expire_notification_before": "boolean",
        "for_expired_course_notification_before_days_checkbox": "boolean",
        "for_expired_course_notification_before_days": "boolean",
        "for_expired_course_notification_after_days_checkbox": "boolean",
        "for_expired_course_notification_after_days": "boolean",
        "created_at": "date",
        "updated_at": "date"
    }
}
 

Example response (404):


{
    "message": "No query results for model [App\\Models\\Course] ID"
}
 

Request   

GET api/learning-paths/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the learning path. Example: 5

path   string   

ID of the learning path to fetch. Example: libero

View learning path settings

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/learning-paths/learning-path-setting/sint" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/learning-paths/learning-path-setting/sint"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/learning-paths/learning-path-setting/sint',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/learning-paths/learning-path-setting/sint'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (400):


{
    "message": "General Error"
}
 

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (200):


{
    "id": "integer",
    "parent_course_id": "integer",
    "name": "string",
    "type": "string",
    "description": "string",
    "thumbnail": "string",
    "code": "string",
    "credits": "integer",
    "material": "integer",
    "original_name": "integer",
    "language_id": "integer",
    "status": "string",
    "category_id": "string",
    "created_by": "integer",
    "updated_by": "integer",
    "created_at": "date",
    "updated_at": "date",
    "deleted_at": "date",
    "completion_material": [
        "integer"
    ],
    "show_evaluate_saq": "boolean",
    "keywords": [
        {
            "id": "integer",
            "name": "string",
            "created_at": "date",
            "updated_at": "date",
            "pivot": {
                "course_id": "integer",
                "keyword_id": "integer"
            }
        }
    ],
    "courses": [
        {
            "id": "integer",
            "parent_training_material_id": "integer",
            "title": "string",
            "description": "string",
            "thumbnail": "string",
            "file": "string",
            "original_name": "string",
            "view_mode_desktop": "string",
            "view_mode_tablet": "string",
            "view_mode_mobile_app": "string",
            "type": "string",
            "created_by": "integer",
            "updated_by": "date",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "pivot": {
                "learning_path_id": "integer",
                "course_id": "integer",
                "checked_for_course_completion": "boolean",
                "publish_from": "date",
                "publish_to": "date",
                "sequence_number": "integer",
                "number_of_views": "integer",
                "set_delay": "time",
                "number_of_attempts": "integer",
                "folder_id": "integer",
                "deleted_at": "date"
            },
            "users": [
                {
                    "id": "integer",
                    "course_user_id": "integer",
                    "user_id": "integer",
                    "course_id": "integer",
                    "training_material_id": "integer",
                    "assign_date": "date",
                    "first_access_date": "date",
                    "last_access_date": "date",
                    "completion_date": "date",
                    "score": "integer",
                    "status": "string",
                    "assessment_data": "string",
                    "answer_data": "string",
                    "attempt": "integer",
                    "level": "string",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                }
            ]
        }
    ],
    "learning_path_setting": {
        "id": "integer",
        "course_id": "integer",
        "navigation": "string",
        "completion": "string",
        "enrollment": "string",
        "start_date": "date",
        "end_date": "date",
        "duration_days": "integer",
        "duration_from": "string",
        "average_hours": "string",
        "average_minutes": "string",
        "average_seconds": "string",
        "certificate_id": "integer",
        "certificate_validity": "string",
        "for_days": "string",
        "till_date": "date",
        "allow_re_enroll_course": "integer",
        "before_days_to_re_enroll": "integer",
        "created_at": "date",
        "updated_at": "date",
        "deleted_at": "date"
    },
    "learning_path_notification": {
        "id": "integer",
        "course_id": "integer",
        "on_lp_assignment_checkbox": "boolean",
        "on_lp_completion_checkbox": "boolean",
        "on_lp_unassignment_checkbox": "boolean",
        "for_lp_not_started_notification_afterdays_checkbox": "boolean",
        "for_lp_not_started_notification_afterdays": "boolean",
        "for_lp_about_to_start_notification_before_days_checkbox": "boolean",
        "for_lp_about_to_start_notification_before_days": "boolean",
        "for_certificate_about_to_expire_notification_before_checkbox": "boolean",
        "for_certificate_about_to_expire_notification_before": "boolean",
        "for_expired_course_notification_before_days_checkbox": "boolean",
        "for_expired_course_notification_before_days": "boolean",
        "for_expired_course_notification_after_days_checkbox": "boolean",
        "for_expired_course_notification_after_days": "boolean",
        "created_at": "date",
        "updated_at": "date"
    }
}
 

Example response (404):


{
    "message": "No query results for model [App\\Models\\Course] ID"
}
 

Request   

GET api/learning-paths/learning-path-setting/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

ID of the learning path to fetch. Example: sint

Learning path User Report

APIs for managing Learning path User Report

View Learning path user report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/learning-paths-users?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22name%22%3A%22string%22%2C%22type%22%3A%22string%22%2C%22code%22%3A%22string%22%2C%22category%22%3A%22string%22%2C%22category_id%22%3A%22integer%22%2C%22criteria%22%3A%22string%22%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/learning-paths-users"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"name":"string","type":"string","code":"string","category":"string","category_id":"integer","criteria":"string"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/learning-paths-users',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"name":"string","type":"string","code":"string","category":"string","category_id":"integer","criteria":"string"}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/learning-paths-users'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"name":"string","type":"string","code":"string","category":"string","category_id":"integer","criteria":"string"}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "integer",
            "name": "string",
            "type": "string",
            "description": "string",
            "thumbnail": "string",
            "code": "string",
            "credits": "integer",
            "material": "string",
            "original_name": "string",
            "language_id": "integer",
            "status": "string",
            "category_id": "integer",
            "created_by": "integer",
            "updated_by": "intger",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "learning_path_users_count": "integer",
            "not_started": "integer",
            "completed": "integer",
            "not_completed": "integer",
            "in_progress": "integer",
            "language": {
                "id": "integer",
                "code": "string",
                "text": "string",
                "created_at": "date",
                "updated_at": "date"
            },
            "learning_path_setting": {
                "id": "integer",
                "learning_path_id": "integer",
                "navigation": "string",
                "completion": "string",
                "enrollment": "string",
                "start_date": "date",
                "end_date": "date",
                "duration_days": "integer",
                "duration_from": "string",
                "average_hours": "string",
                "average_minutes": "string",
                "average_seconds": "string",
                "certificate_id": "integer",
                "certificate_validity": "string",
                "for_days": "integer",
                "till_date": "date",
                "allow_re_enroll_course": "integer",
                "before_days_to_re_enroll": "integer",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date"
            },
            "learning_path_name": "string",
            "learning_path_name_code": "string",
            "learning_path_category_id": "string",
            "lp_credits": "integer"
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/reports/learning-paths-users

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the courses name and code. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: {"name":"string","type":"string","code":"string","category":"string","category_id":"integer","criteria":"string"}. Example: {"name":"string","type":"string","code":"string","category":"string","category_id":"integer","criteria":"string"}

Profile

APIs for managing users profile

View a users profile

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/profile/maxime" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/profile/maxime"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/profile/maxime',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/profile/maxime'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (400):


{
    "message": "General Error"
}
 

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (200):


{
    "id": "integer",
    "username": "string",
    "first_name": "string",
    "last_name": "string",
    "name": "string",
    "email": "string",
    "email_verified_at": "date",
    "password_updated": "integer",
    "profile_picture": "string",
    "level": "string",
    "status": "enum(0,1)",
    "language": "string",
    "date_format": "string",
    "timezone": "string",
    "permission_id": "integer",
    "role_id": "integer",
    "expire_on": "date",
    "created_at": "date",
    "updated_at": "date"
}
 

Example response (404):


{
    "message": "No query results for model [App\\User] ID"
}
 

Request   

GET api/profile/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the profile. Example: maxime

user   string   

ID of the user to fetch. Example: laudantium

Roles

APIs for managing roles

View assigned user to particular role

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/view-users/odit" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/view-users/odit"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/view-users/odit',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/view-users/odit'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "integer",
            "name": "string",
            "created_at": "date",
            "updated_at": "date",
            "users": [
                {
                    "id": "integer",
                    "username": "string",
                    "first_name": "string",
                    "last_name": "string",
                    "name": "string",
                    "email": "string",
                    "email_verified_at": "date",
                    "password_updated": "integer",
                    "profile_picture": "string",
                    "level": "string",
                    "status": "integer",
                    "language": "string",
                    "date_format": "string",
                    "timezone": "string",
                    "permission_id": "integer",
                    "role_id": "integer",
                    "expire_on": "date",
                    "created_at": "date",
                    "updated_at": "date"
                }
            ]
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/view-users/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

ID of the role to fetch. Example: odit

Session Attendence Report

APIs for managing Session Attendence Report

View Session Attendence report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/session-attendence/velit?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22name%22%3A%22string%22%2C%22type%22%3A%22string%22%2C%22code%22%3A%22string%22%2C%22category%22%3A%22string%22%2C%22category_id%22%3A%22integer%22%2C%22criteria%22%3A%22string%22%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/session-attendence/velit"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"name":"string","type":"string","code":"string","category":"string","category_id":"integer","criteria":"string"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/session-attendence/velit',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"name":"string","type":"string","code":"string","category":"string","category_id":"integer","criteria":"string"}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/session-attendence/velit'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"name":"string","type":"string","code":"string","category":"string","category_id":"integer","criteria":"string"}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "integer",
            "parent_course_id": "integer",
            "name": "string",
            "type": "string",
            "description": "string",
            "thumbnail": "string",
            "code": "string",
            "credits": "integer",
            "material": "string",
            "original_name": "string",
            "language_id": "integer",
            "status": "string",
            "category_id": "integer",
            "created_by": "integer",
            "updated_by": "intger",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "course_users_count": "integer",
            "not_started": "integer",
            "completed": "integer",
            "not_completed": "integer",
            "in_progress": "integer",
            "language": {
                "id": "integer",
                "code": "string",
                "text": "string",
                "created_at": "date",
                "updated_at": "date"
            },
            "course_setting": {
                "id": "integer",
                "course_id": "integer",
                "navigation": "string",
                "completion": "string",
                "enrollment": "string",
                "start_date": "date",
                "end_date": "date",
                "duration_days": "integer",
                "duration_from": "string",
                "average_hours": "string",
                "average_minutes": "string",
                "average_seconds": "string",
                "certificate_id": "integer",
                "certificate_validity": "string",
                "for_days": "integer",
                "till_date": "date",
                "allow_re_enroll_course": "integer",
                "before_days_to_re_enroll": "integer",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date"
            },
            "course_name": "string"
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/reports/session-attendence/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the session attendence. Example: velit

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the courses name and code. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: {"name":"string","type":"string","code":"string","category":"string","category_id":"integer","criteria":"string"}. Example: {"name":"string","type":"string","code":"string","category":"string","category_id":"integer","criteria":"string"}

GET api/reports/session-attendence/csv/{id}

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/session-attendence/csv/porro" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/session-attendence/csv/porro"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/session-attendence/csv/porro',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/session-attendence/csv/porro'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
 

{
    "message": "",
    "exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
    "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Routing/AbstractRouteCollection.php",
    "line": 43,
    "trace": [
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php",
            "line": 162,
            "function": "handleMatchedRoute",
            "class": "Illuminate\\Routing\\AbstractRouteCollection",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 646,
            "function": "match",
            "class": "Illuminate\\Routing\\RouteCollection",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 635,
            "function": "findRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 624,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 166,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 128,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/app/Http/Middleware/SystemConfigurationMiddleware.php",
            "line": 31,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\SystemConfigurationMiddleware",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/app/Http/Middleware/Localization.php",
            "line": 49,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\Localization",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/fideloper/proxy/src/TrustProxies.php",
            "line": 57,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Fideloper\\Proxy\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 87,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 103,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 141,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 110,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 299,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 287,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 92,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 45,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 209,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 122,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 69,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 47,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 51,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 40,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 610,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 136,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/symfony/console/Command/Command.php",
            "line": 298,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 121,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/symfony/console/Application.php",
            "line": 1028,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/symfony/console/Application.php",
            "line": 299,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/symfony/console/Application.php",
            "line": 171,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Console/Application.php",
            "line": 93,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 129,
            "function": "run",
            "class": "Illuminate\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request   

GET api/reports/session-attendence/csv/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the csv. Example: porro

Session Courses Report

APIs for managing Session Courses Report

View sessions courses report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/session-courses?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22course%22%3A%7B%22name%22%3A%22string%22%2C%22code%22%3A%22string%22%2C%22type%22%3A%22string%22%2C%22criteria%22%3A%22string%22%2C%7D%2C%22session%22%3A%7B%22name%22%3A%22string%22%2C%22tool%22%3A%22string%22%2C%22to_start_date%22%3A%22string%22%2C%22from_start_date%22%3A%22string%22%7D%2C%22criteria%22%3A%22string%22%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/session-courses"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"course":{"name":"string","code":"string","type":"string","criteria":"string",},"session":{"name":"string","tool":"string","to_start_date":"string","from_start_date":"string"},"criteria":"string"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/session-courses',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"course":{"name":"string","code":"string","type":"string","criteria":"string",},"session":{"name":"string","tool":"string","to_start_date":"string","from_start_date":"string"},"criteria":"string"}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/session-courses'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"course":{"name":"string","code":"string","type":"string","criteria":"string",},"session":{"name":"string","tool":"string","to_start_date":"string","from_start_date":"string"},"criteria":"string"}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "inetger",
            "course_id": "integer",
            "session_id": "integer",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "course": {
                "id": "integer",
                "parent_course_id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "date",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "course_name": "string"
            },
            "session": {
                "id": "integer",
                "name": "string",
                "description": "string",
                "start_time": "date",
                "duration": "integer",
                "end_time": "date",
                "timezone": "string",
                "maximum_enrolments": "integer",
                "tool": "string",
                "account_id": "integer",
                "instructor_id": "string",
                "start_url": "string",
                "join_url": "string",
                "password": "string",
                "meeting_id": "string",
                "instructor_join_btn_display_time": "integer",
                "utc_time_sessions": "date",
                "user_join_btn_display_time": "integer",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "title": "string",
                "account": "string",
                "instructor": {
                    "id": "integer",
                    "username": "string",
                    "first_name": "string",
                    "last_name": "string",
                    "name": "string",
                    "email": "string",
                    "email_verified_at": "date",
                    "password_updated": "integer",
                    "profile_picture": "string",
                    "level": "string",
                    "status": "integer",
                    "language": "string",
                    "date_format": "string",
                    "timezone": "string",
                    "permission_id": "integer",
                    "role_id": "integer",
                    "expire_on": "date",
                    "created_at": "date",
                    "updated_at": "date",
                },
                "session_participants": "string"
            }
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/reports/session-courses

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the sessions session name and courses name,code,description. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: {"course":{"name":"string","code":"string","type":"string","criteria":"string",},"session":{"name":"string","tool":"string","to_start_date":"string","from_start_date":"string"},"criteria":"string"}. Example: {"course":{"name":"string","code":"string","type":"string","criteria":"string",},"session":{"name":"string","tool":"string","to_start_date":"string","from_start_date":"string"},"criteria":"string"}

Training Material

APIs for managing trainig material

Retrieves all Training Materials, filtered on input parameters

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/training-materials?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=aliquam" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/training-materials"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "aliquam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/training-materials',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => 'aliquam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/training-materials'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': 'aliquam',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "integer",
            "parent_training_material_id": "integer",
            "title": "string",
            "description": "string",
            "thumbnail": "string",
            "file": "string",
            "original_name": "string",
            "view_mode_desktop": "string",
            "view_mode_tablet": "string",
            "view_mode_mobile_app": "string",
            "type": "string",
            "created_by": "integer",
            "updated_by": "integer",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "users_count": "integer",
            "training_material_completion_id": "integer",
            "answersheet": "boolean",
            "file_type": "string"
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/training-materials

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the Trainig Material title,description and type. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. Example: aliquam

User Course Purchase Report

APIs for managing User Course Purchase Report

View user courses purchase report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/users-course-purchases?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22course%22%3A%7B%22name%22%3A%22string%22%2C%22code%22%3A%22string%22%2C%22type%22%3A%22string%22%2C%22criteria%22%3A%22string%22%2C%22category%22%3A%22string%22%2C%22category_id%22%3A%22integer%22%7D%2C%22from_completion_date%22%3A%22string%22%2C%22to_completion_date%22%3A%22string%22%2C%22status%22%3A%5Bstring%5D%2C%22from_assigned_date%22%3A%22string%22%2C%22to_assigned_date%22%3A%22string%22%2C%22criteria%22%3A%22string%22%2C%22user.branch_id%22%3A%22integer%22%2C%22user.descendant%22%3A%22enum%280%2C1%29%22%2C%22user%22%3A%7B%22username%22%3A%22string%22%2C%22level%22%3A%22string%22%2C%22email%22%3A%22string%22%2C%22first_name%22%3A%22string%22%2C%22last_name%22%3A%22string%22%2C%22role_id%22%3A%22integer%22%2C%22language%22%3A%22string%22%2C%22criteria%22%3A%22string%22%7D%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/users-course-purchases"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/users-course-purchases',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/users-course-purchases'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "inetger",
            "user_id": "integer",
            "course_id": "intger",
            "learning_path_id": "intger",
            "session_id": "intger",
            "transaction_id": "string",
            "tax_percentage": "intger",
            "tax_amount": "intger",
            "total_amount": "intger",
            "total_paid": "intger",
            "status": "string",
            "created_at": "date",
            "updated_at": "date",
            "users": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "date",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "integer",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
            },
            "course": {
                "id": "integer",
                "parent_course_id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "date",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "course_users": {
                    "first_access_date": "date",
                    "last_access_date": "date",
                    "completion_date": "date"
                },
                "course_setting": {
                    "id": "integer",
                    "course_id": "integer",
                    "navigation": "string",
                    "completion": "string",
                    "enrollment": "string",
                    "start_date": "date",
                    "end_date": "date",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "average_hours": "string",
                    "average_minutes": "string",
                    "average_seconds": "string",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                },
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "course_name": "string"
            },
            "purchase_date": "date"
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/reports/users-course-purchases

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the users username,first name,last name and email and courses name,code,description. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: {"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}. Example: {"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}

Download user courses purchase report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/users-course-purchases/csv" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/users-course-purchases/csv"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/users-course-purchases/csv',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/users-course-purchases/csv'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "inetger",
            "user_id": "integer",
            "course_id": "intger",
            "learning_path_id": "intger",
            "session_id": "intger",
            "transaction_id": "string",
            "tax_percentage": "intger",
            "tax_amount": "intger",
            "total_amount": "intger",
            "total_paid": "intger",
            "status": "string",
            "created_at": "date",
            "updated_at": "date",
            "users": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "date",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "integer",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
            },
            "course": {
                "id": "integer",
                "parent_course_id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "date",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "course_users": {
                    "first_access_date": "date",
                    "last_access_date": "date",
                    "completion_date": "date"
                },
                "course_setting": {
                    "id": "integer",
                    "course_id": "integer",
                    "navigation": "string",
                    "completion": "string",
                    "enrollment": "string",
                    "start_date": "date",
                    "end_date": "date",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "average_hours": "string",
                    "average_minutes": "string",
                    "average_seconds": "string",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                },
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "course_name": "string"
            },
            "purchase_date": "date"
        }
    ]
}
 

Request   

GET api/reports/users-course-purchases/csv

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

User Courses Report

APIs for managing User Courses Report

View user courses report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/user-courses?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22course%22%3A%7B%22name%22%3A%22string%22%2C%22code%22%3A%22string%22%2C%22type%22%3A%22string%22%2C%22criteria%22%3A%22string%22%2C%22category%22%3A%22string%22%2C%22category_id%22%3A%22integer%22%7D%2C%22from_completion_date%22%3A%22string%22%2C%22to_completion_date%22%3A%22string%22%2C%22status%22%3A%5Bstring%5D%2C%22from_assigned_date%22%3A%22string%22%2C%22to_assigned_date%22%3A%22string%22%2C%22criteria%22%3A%22string%22%2C%22user.branch_id%22%3A%22integer%22%2C%22user.descendant%22%3A%22enum%280%2C1%29%22%2C%22user%22%3A%7B%22username%22%3A%22string%22%2C%22level%22%3A%22string%22%2C%22email%22%3A%22string%22%2C%22first_name%22%3A%22string%22%2C%22last_name%22%3A%22string%22%2C%22role_id%22%3A%22integer%22%2C%22language%22%3A%22string%22%2C%22criteria%22%3A%22string%22%7D%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/user-courses"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/user-courses',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/user-courses'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "inetger",
            "user_id": "integer",
            "course_id": "intger",
            "available_from": "date",
            "available_to": "date",
            "duration_days": "integer",
            "duration_from": "string",
            "first_access_date": "date",
            "last_access_date": "date",
            "completion_date": "date",
            "status": "string",
            "assigned_date": "date",
            "assigned_by": "integer",
            "score": "integer",
            "certificate_id": "integer",
            "certificate_validity": "string",
            "for_days": "integer",
            "till_date": "date",
            "allow_re_enroll_course": "integer",
            "before_days_to_re_enroll": "integer",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "user": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "date",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "integer",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
                "role": {
                    "id": "integer",
                    "name": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "user_status": "string"
            },
            "course": {
                "id": "integer",
                "parent_course_id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "date",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "course_setting": {
                    "id": "integer",
                    "course_id": "integer",
                    "navigation": "string",
                    "completion": "string",
                    "enrollment": "string",
                    "start_date": "date",
                    "end_date": "date",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "average_hours": "string",
                    "average_minutes": "string",
                    "average_seconds": "string",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                },
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "course_name": "string"
            },
            "status_code": "string"
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/reports/user-courses

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the users username,first name,last name and email and courses name,code,description. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: {"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}. Example: {"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}

Download user courses report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/user-courses/csv" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/user-courses/csv"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/user-courses/csv',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/user-courses/csv'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "inetger",
            "user_id": "integer",
            "course_id": "intger",
            "available_from": "date",
            "available_to": "date",
            "duration_days": "integer",
            "duration_from": "string",
            "first_access_date": "date",
            "last_access_date": "date",
            "completion_date": "date",
            "status": "string",
            "assigned_date": "date",
            "assigned_by": "integer",
            "score": "integer",
            "certificate_id": "integer",
            "certificate_validity": "string",
            "for_days": "integer",
            "till_date": "date",
            "allow_re_enroll_course": "integer",
            "before_days_to_re_enroll": "integer",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "user": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "date",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "integer",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
                "role": {
                    "id": "integer",
                    "name": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "user_status": "string"
            },
            "course": {
                "id": "integer",
                "parent_course_id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "date",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "course_setting": {
                    "id": "integer",
                    "course_id": "integer",
                    "navigation": "string",
                    "completion": "string",
                    "enrollment": "string",
                    "start_date": "date",
                    "end_date": "date",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "average_hours": "string",
                    "average_minutes": "string",
                    "average_seconds": "string",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                },
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "course_name": "string"
            },
            "status_code": "string"
        }
    ]
}
 

Request   

GET api/reports/user-courses/csv

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

User Learning Path Courses Report

APIs for managing User Learning Path Courses Report

View user learning path course report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/user-learning-path-courses?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22learning_path%22%3A%7B%22name%22%3A%22string%22%2C%22code%22%3A%22string%22%2C%22type%22%3A%22string%22%2C%22criteria%22%3A%22string%22%2C%22category%22%3A%22string%22%2C%22category_id%22%3A%22integer%22%7D%2C%22from_completion_date%22%3A%22string%22%2C%22to_completion_date%22%3A%22string%22%2C%22status%22%3A%5Bstring%5D%2C%22from_assigned_date%22%3A%22string%22%2C%22to_assigned_date%22%3A%22string%22%2C%22criteria%22%3A%22string%22%2C%22user.branch_id%22%3A%22integer%22%2C%22user.descendant%22%3A%22enum%280%2C1%29%22%2C%22user%22%3A%7B%22username%22%3A%22string%22%2C%22level%22%3A%22string%22%2C%22email%22%3A%22string%22%2C%22first_name%22%3A%22string%22%2C%22last_name%22%3A%22string%22%2C%22role_id%22%3A%22integer%22%2C%22language%22%3A%22string%22%2C%22criteria%22%3A%22string%22%7D%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/user-learning-path-courses"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"learning_path":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/user-learning-path-courses',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"learning_path":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/user-learning-path-courses'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"learning_path":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "inetger",
            "user_id": "integer",
            "learning_path_id": "intger",
            "available_from": "date",
            "available_to": "date",
            "duration_days": "integer",
            "duration_from": "string",
            "first_access_date": "date",
            "last_access_date": "date",
            "completion_date": "date",
            "status": "string",
            "assigned_date": "date",
            "assigned_by": "integer",
            "score": "integer",
            "certificate_id": "integer",
            "certificate_validity": "string",
            "for_days": "integer",
            "till_date": "date",
            "allow_re_enroll_learning_path": "integer",
            "before_days_to_re_enroll": "integer",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "courseUsers": [
                {
                    "id": "integer",
                    "user_id": "integer",
                    "course_id": "integer",
                    "learning_path_id": "integer",
                    "learning_path_users_id": "integer",
                    "available_from": "date",
                    "available_to": "date",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "first_access_date": "date",
                    "last_access_date": "date",
                    "completion_date": "date",
                    "status": "string",
                    "assigned_date": "date",
                    "assigned_by": "integer",
                    "score": "integer",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                }
            ],
            "user": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "date",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "integer",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
                "role": {
                    "id": "integer",
                    "name": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "user_status": "string"
            },
            "learning_path": {
                "id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "date",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "learning_path_setting": {
                    "id": "integer",
                    "learning_path_id": "integer",
                    "navigation": "string",
                    "completion": "string",
                    "enrollment": "string",
                    "start_date": "date",
                    "end_date": "date",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "average_hours": "string",
                    "average_minutes": "string",
                    "average_seconds": "string",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                },
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "learning_path_name": "string",
                "learning_path_name_code": "string",
                "learning_path_category_id": "string",
                "lp_credits": "integer"
            },
            "course": {
                "id": "integer",
                "parent_course_id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "date",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "course_setting": {
                    "id": "integer",
                    "course_id": "integer",
                    "navigation": "string",
                    "completion": "string",
                    "enrollment": "string",
                    "start_date": "date",
                    "end_date": "date",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "average_hours": "string",
                    "average_minutes": "string",
                    "average_seconds": "string",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                },
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "course_name": "string"
            },
            "status_code": "string",
            "course_assigned_date": "date",
            "course_first_access_date": "date",
            "course_last_access_date": "date",
            "course_completion_date": "date",
            "courses_lp_status": "string"
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/reports/user-learning-path-courses

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the users username,first name,last name and email and learnimg path name,code,description. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: {"learning_path":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}. Example: {"learning_path":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}

Download user learning path courses report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/user-learning-path-courses/csv" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/user-learning-path-courses/csv"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/user-learning-path-courses/csv',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/user-learning-path-courses/csv'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "inetger",
            "user_id": "integer",
            "learning_path_id": "intger",
            "available_from": "date",
            "available_to": "date",
            "duration_days": "integer",
            "duration_from": "string",
            "first_access_date": "date",
            "last_access_date": "date",
            "completion_date": "date",
            "status": "string",
            "assigned_date": "date",
            "assigned_by": "integer",
            "score": "integer",
            "certificate_id": "integer",
            "certificate_validity": "string",
            "for_days": "integer",
            "till_date": "date",
            "allow_re_enroll_learning_path": "integer",
            "before_days_to_re_enroll": "integer",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "courseUsers": [
                {
                    "id": "integer",
                    "user_id": "integer",
                    "course_id": "integer",
                    "learning_path_id": "integer",
                    "learning_path_users_id": "integer",
                    "available_from": "date",
                    "available_to": "date",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "first_access_date": "date",
                    "last_access_date": "date",
                    "completion_date": "date",
                    "status": "string",
                    "assigned_date": "date",
                    "assigned_by": "integer",
                    "score": "integer",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                }
            ],
            "user": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "date",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "integer",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
                "role": {
                    "id": "integer",
                    "name": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "user_status": "string"
            },
            "learning_path": {
                "id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "date",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "learning_path_setting": {
                    "id": "integer",
                    "learning_path_id": "integer",
                    "navigation": "string",
                    "completion": "string",
                    "enrollment": "string",
                    "start_date": "date",
                    "end_date": "date",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "average_hours": "string",
                    "average_minutes": "string",
                    "average_seconds": "string",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                },
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "learning_path_name": "string",
                "learning_path_name_code": "string",
                "learning_path_category_id": "string",
                "lp_credits": "integer"
            },
            "course": {
                "id": "integer",
                "parent_course_id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "date",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "course_setting": {
                    "id": "integer",
                    "course_id": "integer",
                    "navigation": "string",
                    "completion": "string",
                    "enrollment": "string",
                    "start_date": "date",
                    "end_date": "date",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "average_hours": "string",
                    "average_minutes": "string",
                    "average_seconds": "string",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                },
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "course_name": "string"
            },
            "status_code": "string",
            "course_assigned_date": "date",
            "course_first_access_date": "date",
            "course_last_access_date": "date",
            "course_completion_date": "date",
            "courses_lp_status": "string"
        }
    ]
}
 

Request   

GET api/reports/user-learning-path-courses/csv

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

User Learning Path Purchase Report

APIs for managing User Learning Path Purchase Report

View user learning path purchase report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/users-learning-path-purchases?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22learningPath%22%3A%7B%22name%22%3A%22string%22%2C%22code%22%3A%22string%22%2C%22type%22%3A%22string%22%2C%22criteria%22%3A%22string%22%2C%22category%22%3A%22string%22%2C%22category_id%22%3A%22integer%22%7D%2C%22from_completion_date%22%3A%22string%22%2C%22to_completion_date%22%3A%22string%22%2C%22status%22%3A%5Bstring%5D%2C%22from_assigned_date%22%3A%22string%22%2C%22to_assigned_date%22%3A%22string%22%2C%22criteria%22%3A%22string%22%2C%22user.branch_id%22%3A%22integer%22%2C%22user.descendant%22%3A%22enum%280%2C1%29%22%2C%22user%22%3A%7B%22username%22%3A%22string%22%2C%22level%22%3A%22string%22%2C%22email%22%3A%22string%22%2C%22first_name%22%3A%22string%22%2C%22last_name%22%3A%22string%22%2C%22role_id%22%3A%22integer%22%2C%22language%22%3A%22string%22%2C%22criteria%22%3A%22string%22%7D%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/users-learning-path-purchases"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"learningPath":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/users-learning-path-purchases',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"learningPath":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/users-learning-path-purchases'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"learningPath":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "inetger",
            "user_id": "integer",
            "course_id": "intger",
            "learning_path_id": "intger",
            "session_id": "intger",
            "transaction_id": "string",
            "tax_percentage": "intger",
            "tax_amount": "intger",
            "total_amount": "intger",
            "total_paid": "intger",
            "status": "string",
            "created_at": "date",
            "updated_at": "date",
            "users": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "date",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "integer",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
            },
            "learning_paths": {
                "id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "date",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "learning_path_users": {
                    "first_access_date": "date",
                    "last_access_date": "date",
                    "completion_date": "date"
                },
                "learning_path_setting": {
                    "id": "integer",
                    "learning_path_id": "integer",
                    "navigation": "string",
                    "completion": "string",
                    "enrollment": "string",
                    "start_date": "date",
                    "end_date": "date",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "average_hours": "string",
                    "average_minutes": "string",
                    "average_seconds": "string",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                },
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "learning_path_name": "string",
                "learning_path_name_code": "string",
                "learning_path_category_id": "string",
                "lp_credits": "integer"
            },
            "purchase_date": "date"
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/reports/users-learning-path-purchases

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the users username,first name,last name and email and courses name,code,description. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: {"learningPath":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}. Example: {"learningPath":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}

Download user learning path purchase report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/users-learning-path-purchases/csv" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/users-learning-path-purchases/csv"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/users-learning-path-purchases/csv',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/users-learning-path-purchases/csv'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "inetger",
            "user_id": "integer",
            "course_id": "intger",
            "learning_path_id": "intger",
            "session_id": "intger",
            "transaction_id": "string",
            "tax_percentage": "intger",
            "tax_amount": "intger",
            "total_amount": "intger",
            "total_paid": "intger",
            "status": "string",
            "created_at": "date",
            "updated_at": "date",
            "users": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "date",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "integer",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
            },
            "learning_paths": {
                "id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "date",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "learning_path_users": {
                    "first_access_date": "date",
                    "last_access_date": "date",
                    "completion_date": "date"
                },
                "learning_path_setting": {
                    "id": "integer",
                    "learning_path_id": "integer",
                    "navigation": "string",
                    "completion": "string",
                    "enrollment": "string",
                    "start_date": "date",
                    "end_date": "date",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "average_hours": "string",
                    "average_minutes": "string",
                    "average_seconds": "string",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                },
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "learning_path_name": "string",
                "learning_path_name_code": "string",
                "learning_path_category_id": "string",
                "lp_credits": "integer"
            },
            "purchase_date": "date"
        }
    ]
}
 

Request   

GET api/reports/users-learning-path-purchases/csv

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

User Learning Path Report

APIs for managing User Learning Path Report

View user learning paths report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/user-learning-path?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22learningPath%22%3A%7B%22name%22%3A%22string%22%2C%22code%22%3A%22string%22%2C%22type%22%3A%22string%22%2C%22criteria%22%3A%22string%22%2C%22category%22%3A%22string%22%2C%22category_id%22%3A%22integer%22%7D%2C%22from_completion_date%22%3A%22string%22%2C%22to_completion_date%22%3A%22string%22%2C%22status%22%3A%5Bstring%5D%2C%22from_assigned_date%22%3A%22string%22%2C%22to_assigned_date%22%3A%22string%22%2C%22criteria%22%3A%22string%22%2C%22user.branch_id%22%3A%22integer%22%2C%22user.descendant%22%3A%22enum%280%2C1%29%22%2C%22user%22%3A%7B%22username%22%3A%22string%22%2C%22level%22%3A%22string%22%2C%22email%22%3A%22string%22%2C%22first_name%22%3A%22string%22%2C%22last_name%22%3A%22string%22%2C%22role_id%22%3A%22integer%22%2C%22language%22%3A%22string%22%2C%22criteria%22%3A%22string%22%7D%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/user-learning-path"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"learningPath":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/user-learning-path',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"learningPath":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/user-learning-path'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"learningPath":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "inetger",
            "user_id": "integer",
            "learning_path_id": "intger",
            "available_from": "date",
            "available_to": "date",
            "duration_days": "integer",
            "duration_from": "string",
            "first_access_date": "date",
            "last_access_date": "date",
            "completion_date": "date",
            "status": "string",
            "assigned_date": "date",
            "assigned_by": "integer",
            "score": "integer",
            "certificate_id": "integer",
            "certificate_validity": "string",
            "for_days": "integer",
            "till_date": "date",
            "allow_re_enroll_learning_path": "integer",
            "before_days_to_re_enroll": "integer",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "user": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "date",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "integer",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
                "role": {
                    "id": "integer",
                    "name": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "user_status": "string"
            },
            "learning_path": {
                "id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "date",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "learning_path_setting": {
                    "id": "integer",
                    "learning_path_id": "integer",
                    "navigation": "string",
                    "completion": "string",
                    "enrollment": "string",
                    "start_date": "date",
                    "end_date": "date",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "average_hours": "string",
                    "average_minutes": "string",
                    "average_seconds": "string",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                },
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "learning_path_name": "string",
                "learning_path_name_code": "string",
                "learning_path_category_id": "string",
                "lp_credits": "integer"
            },
            "status_code": "string"
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/reports/user-learning-path

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the users username,first name,last name and email and learnimg path name,code,description. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: {"learningPath":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}. Example: {"learningPath":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}

Download user learning paths report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/user-learning-path/csv" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/user-learning-path/csv"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/user-learning-path/csv',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/user-learning-path/csv'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "inetger",
            "user_id": "integer",
            "learning_path_id": "intger",
            "available_from": "date",
            "available_to": "date",
            "duration_days": "integer",
            "duration_from": "string",
            "first_access_date": "date",
            "last_access_date": "date",
            "completion_date": "date",
            "status": "string",
            "assigned_date": "date",
            "assigned_by": "integer",
            "score": "integer",
            "certificate_id": "integer",
            "certificate_validity": "string",
            "for_days": "integer",
            "till_date": "date",
            "allow_re_enroll_learning_path": "integer",
            "before_days_to_re_enroll": "integer",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "user": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "date",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "integer",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
                "role": {
                    "id": "integer",
                    "name": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "user_status": "string"
            },
            "learning_path": {
                "id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "date",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "learning_path_setting": {
                    "id": "integer",
                    "learning_path_id": "integer",
                    "navigation": "string",
                    "completion": "string",
                    "enrollment": "string",
                    "start_date": "date",
                    "end_date": "date",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "average_hours": "string",
                    "average_minutes": "string",
                    "average_seconds": "string",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                },
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "learning_path_name": "string",
                "learning_path_name_code": "string",
                "learning_path_category_id": "string",
                "lp_credits": "integer"
            },
            "status_code": "string"
        }
    ]
}
 

Request   

GET api/reports/user-learning-path/csv

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

User Login Report

APIs for managing User Login Report

View user login report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/user-login?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22user%22%3A%7B%22username%22%3A%22string%22%2C%22level%22%3A%22string%22%2C%22email%22%3A%22string%22%2C%22first_name%22%3A%22string%22%2C%22last_name%22%3A%22string%22%2C%22role_id%22%3A%22integer%22%2C%22language%22%3A%22string%22%2C%22criteria%22%3A%22string%22%7D%2C%22from_login_date%22%3A%22string%22%2C%22to_login_date%22%3A%22string%22%2C%22criteria%22%3A%22string%22%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/user-login"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"},"from_login_date":"string","to_login_date":"string","criteria":"string"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/user-login',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"},"from_login_date":"string","to_login_date":"string","criteria":"string"}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/user-login'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"},"from_login_date":"string","to_login_date":"string","criteria":"string"}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "integer",
            "user_id": "integer",
            "created_at": "date",
            "updated_at": "date",
            "user": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "date",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "integer",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
                "role": {
                    "id": "integer",
                    "name": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "user_status": "string"
            }
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/reports/user-login

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the users username,first name, last name and email. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: {"user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"},"from_login_date":"string","to_login_date":"string","criteria":"string"}. Example: {"user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"},"from_login_date":"string","to_login_date":"string","criteria":"string"}

Download user login report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/user-login/csv" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/user-login/csv"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/user-login/csv',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/user-login/csv'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "integer",
            "user_id": "integer",
            "created_at": "date",
            "updated_at": "date",
            "user": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "date",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "integer",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
                "role": {
                    "id": "integer",
                    "name": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "user_status": "string"
            }
        }
    ]
}
 

Request   

GET api/reports/user-login/csv

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

User Session Report

APIs for managing User Session Report

View user sessions report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/user-sessions?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22course%22%3A%7B%22name%22%3A%22string%22%2C%22code%22%3A%22string%22%2C%22type%22%3A%22string%22%2C%22criteria%22%3A%22string%22%2C%22category%22%3A%22string%22%2C%22category_id%22%3A%22integer%22%7D%2C%22session%22%3A%7B%22name%22%3A%22string%22%2C%22tool%22%3A%22string%22%2C%22to_start_date%22%3A%22string%22%2C%22from_start_date%22%3A%22string%22%7D%2C%22from_completion_date%22%3A%22string%22%2C%22to_completion_date%22%3A%22string%22%2C%22status%22%3A%5Bstring%5D%2C%22from_assigned_date%22%3A%22string%22%2C%22to_assigned_date%22%3A%22string%22%2C%22criteria%22%3A%22string%22%2C%22user.branch_id%22%3A%22integer%22%2C%22user.descendant%22%3A%22enum%280%2C1%29%22%2C%22user%22%3A%7B%22username%22%3A%22string%22%2C%22level%22%3A%22string%22%2C%22email%22%3A%22string%22%2C%22first_name%22%3A%22string%22%2C%22last_name%22%3A%22string%22%2C%22role_id%22%3A%22integer%22%2C%22language%22%3A%22string%22%2C%22criteria%22%3A%22string%22%7D%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/user-sessions"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"session":{"name":"string","tool":"string","to_start_date":"string","from_start_date":"string"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/user-sessions',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"session":{"name":"string","tool":"string","to_start_date":"string","from_start_date":"string"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/user-sessions'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"session":{"name":"string","tool":"string","to_start_date":"string","from_start_date":"string"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "inetger",
            "course_session_id": "integer",
            "course_id": "integer",
            "user_id": "integer",
            "session_id": "integer",
            "assign_date": "date",
            "first_access_date": "date",
            "last_access_date": "date",
            "completion_date": "date",
            "score": "integer",
            "status": "string",
            "instructor": "integer",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "user": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "date",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "integer",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
                "role": {
                    "id": "integer",
                    "name": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "user_status": "string"
            },
            "course": {
                "id": "integer",
                "parent_course_id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "date",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "course_setting": {
                    "id": "integer",
                    "course_id": "integer",
                    "navigation": "string",
                    "completion": "string",
                    "enrollment": "string",
                    "start_date": "date",
                    "end_date": "date",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "average_hours": "string",
                    "average_minutes": "string",
                    "average_seconds": "string",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                },
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "course_name": "string"
            },
            "session": {
                "id": "integer",
                "name": "string",
                "description": "string",
                "start_time": "date",
                "duration": "integer",
                "end_time": "date",
                "timezone": "string",
                "maximum_enrolments": "integer",
                "tool": "string",
                "account_id": "integer",
                "instructor_id": "string",
                "start_url": "string",
                "join_url": "string",
                "password": "string",
                "meeting_id": "string",
                "instructor_join_btn_display_time": "integer",
                "utc_time_sessions": "date",
                "user_join_btn_display_time": "integer",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "title": "string",
                "account": "string",
                "instructor": {
                    "id": "integer",
                    "username": "string",
                    "first_name": "string",
                    "last_name": "string",
                    "name": "string",
                    "email": "string",
                    "email_verified_at": "date",
                    "password_updated": "integer",
                    "profile_picture": "string",
                    "level": "string",
                    "status": "integer",
                    "language": "string",
                    "date_format": "string",
                    "timezone": "string",
                    "permission_id": "integer",
                    "role_id": "integer",
                    "expire_on": "date",
                    "created_at": "date",
                    "updated_at": "date",
                },
                "account_meet": "string"
            },
            "status_code": "string",
            "certificate_validity": "string",
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/reports/user-sessions

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the users username,first name,last name and email and courses name,code,description. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: {"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"session":{"name":"string","tool":"string","to_start_date":"string","from_start_date":"string"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}. Example: {"course":{"name":"string","code":"string","type":"string","criteria":"string","category":"string","category_id":"integer"},"session":{"name":"string","tool":"string","to_start_date":"string","from_start_date":"string"},"from_completion_date":"string","to_completion_date":"string","status":[string],"from_assigned_date":"string","to_assigned_date":"string","criteria":"string","user.branch_id":"integer","user.descendant":"enum(0,1)","user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"}}

Download user sessions report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/users-sessions/csv" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/users-sessions/csv"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/users-sessions/csv',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/users-sessions/csv'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "inetger",
            "course_session_id": "integer",
            "course_id": "integer",
            "user_id": "integer",
            "session_id": "integer",
            "assign_date": "date",
            "first_access_date": "date",
            "last_access_date": "date",
            "completion_date": "date",
            "score": "integer",
            "status": "string",
            "instructor": "integer",
            "created_at": "date",
            "updated_at": "date",
            "deleted_at": "date",
            "user": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "date",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "integer",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
                "role": {
                    "id": "integer",
                    "name": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "user_status": "string"
            },
            "course": {
                "id": "integer",
                "parent_course_id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "date",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "course_setting": {
                    "id": "integer",
                    "course_id": "integer",
                    "navigation": "string",
                    "completion": "string",
                    "enrollment": "string",
                    "start_date": "date",
                    "end_date": "date",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "average_hours": "string",
                    "average_minutes": "string",
                    "average_seconds": "string",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                },
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "course_name": "string"
            },
            "session": {
                "id": "integer",
                "name": "string",
                "description": "string",
                "start_time": "date",
                "duration": "integer",
                "end_time": "date",
                "timezone": "string",
                "maximum_enrolments": "integer",
                "tool": "string",
                "account_id": "integer",
                "instructor_id": "string",
                "start_url": "string",
                "join_url": "string",
                "password": "string",
                "meeting_id": "string",
                "instructor_join_btn_display_time": "integer",
                "utc_time_sessions": "date",
                "user_join_btn_display_time": "integer",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "title": "string",
                "account": "string",
                "instructor": {
                    "id": "integer",
                    "username": "string",
                    "first_name": "string",
                    "last_name": "string",
                    "name": "string",
                    "email": "string",
                    "email_verified_at": "date",
                    "password_updated": "integer",
                    "profile_picture": "string",
                    "level": "string",
                    "status": "integer",
                    "language": "string",
                    "date_format": "string",
                    "timezone": "string",
                    "permission_id": "integer",
                    "role_id": "integer",
                    "expire_on": "date",
                    "created_at": "date",
                    "updated_at": "date",
                },
                "account_meet": "string"
            },
            "status_code": "string",
            "certificate_validity": "string",
        }
    ]
}
 

Request   

GET api/reports/users-sessions/csv

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

User Terms Condition Report

APIs for managing User Terms Condition Report

View user term and conditions report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/user-term-condition?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22branches%22%3A%5B%22string%22%5D%2C%22user%22%3A%7B%22username%22%3A%22string%22%2C%22level%22%3A%22string%22%2C%22email%22%3A%22string%22%2C%22first_name%22%3A%22string%22%2C%22last_name%22%3A%22string%22%2C%22role_id%22%3A%22integer%22%2C%22language%22%3A%22string%22%2C%22criteria%22%3A%22string%22%7D%2C%22version%22%3A%22integer%22%2C%22from_acceptance_date%22%3A%22string%22%2C%22criteria%22%3A%22string%22%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/user-term-condition"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"branches":["string"],"user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"},"version":"integer","from_acceptance_date":"string","criteria":"string"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/user-term-condition',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"branches":["string"],"user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"},"version":"integer","from_acceptance_date":"string","criteria":"string"}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/user-term-condition'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"branches":["string"],"user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"},"version":"integer","from_acceptance_date":"string","criteria":"string"}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "inetger",
            "user_id": "integer",
            "version_id": "intger",
            "sub_version_id": "intger",
            "accepted_date": "date",
            "created_at": "date",
            "updated_at": "date",
            "user": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "date",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "integer",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
                "user_status": "string"
            },
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/reports/user-term-condition

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the users username,first name, last name and email. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: {"branches":["string"],"user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"},"version":"integer","from_acceptance_date":"string","criteria":"string"}. Example: {"branches":["string"],"user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"},"version":"integer","from_acceptance_date":"string","criteria":"string"}

Download user term and conditions report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/user-term-condition/csv" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/user-term-condition/csv"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/user-term-condition/csv',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/user-term-condition/csv'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "inetger",
            "user_id": "integer",
            "version_id": "intger",
            "sub_version_id": "intger",
            "accepted_date": "date",
            "created_at": "date",
            "updated_at": "date",
            "user": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "date",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "integer",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
                "user_status": "string"
            },
        }
    ]
}
 

Request   

GET api/reports/user-term-condition/csv

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

User Training Material Report

APIs for managing User Training Material Report

View user training material report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/user-learning-object?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22user%22%3A%7B%22username%22%3A%22string%22%2C%22level%22%3A%22string%22%2C%22email%22%3A%22string%22%2C%22first_name%22%3A%22string%22%2C%22last_name%22%3A%22string%22%2C%22role_id%22%3A%22integer%22%2C%22language%22%3A%22string%22%2C%22criteria%22%3A%22string%22%7D%2C%22course%22%3A%7B%22name%22%3A%22string%22%2C%22code%22%3A%22string%22%2C%22type%22%3A%22string%22%2C%22criteria%22%3A%22string%22%7D%2C%22training_materials_user%22%3A%7B%22from_completion_date%22%3A%22string%22%2C%22to_completion_date%22%3A%22string%22%2C%22status%22%3A%22string%22%2C%22from_assigned_date%22%3A%22string%22%2C%22to_assigned_date%22%3A%22string%22%7D%2C%22training_material%22%3A%7B%22title%22%3A%22string%22%2C%22type%22%3A%22string%22%7D%2C%22criteria%22%3A%22string%22%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/user-learning-object"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"},"course":{"name":"string","code":"string","type":"string","criteria":"string"},"training_materials_user":{"from_completion_date":"string","to_completion_date":"string","status":"string","from_assigned_date":"string","to_assigned_date":"string"},"training_material":{"title":"string","type":"string"},"criteria":"string"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/user-learning-object',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"},"course":{"name":"string","code":"string","type":"string","criteria":"string"},"training_materials_user":{"from_completion_date":"string","to_completion_date":"string","status":"string","from_assigned_date":"string","to_assigned_date":"string"},"training_material":{"title":"string","type":"string"},"criteria":"string"}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/user-learning-object'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"},"course":{"name":"string","code":"string","type":"string","criteria":"string"},"training_materials_user":{"from_completion_date":"string","to_completion_date":"string","status":"string","from_assigned_date":"string","to_assigned_date":"string"},"training_material":{"title":"string","type":"string"},"criteria":"string"}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "integer",
            "user_id": "integer",
            "training_material_id": "integer",
            "checked_for_course_completion": "string",
            "course_id": "integer",
            "assign_date": "date",
            "first_access_date": "date",
            "last_access_date": "date",
            "completion_date": "date",
            "score": "integer",
            "status": "string",
            "attempt": "integer",
            "created_at": "date",
            "user": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "string",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "string",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
                "role": {
                    "id": "integer",
                    "name": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "user_status": "string"
            },
            "course": {
                "id": "integer",
                "parent_course_id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "integer",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "course_setting": {
                    "id": "integer",
                    "course_id": "integer",
                    "navigation": "string",
                    "completion": "string",
                    "enrollment": "string",
                    "start_date": "date",
                    "end_date": "string",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "average_hours": "string",
                    "average_minutes": "string",
                    "average_seconds": "string",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                },
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "course_name": "string"
            },
            "training_material": {
                "id": "integer",
                "parent_training_material_id": "integer",
                "title": "string",
                "description": "string",
                "thumbnail": "string",
                "file": "string",
                "original_name": "string",
                "view_mode_desktop": "string",
                "view_mode_tablet": "string",
                "view_mode_mobile_app": "string",
                "type": "string",
                "created_by": "integer",
                "updated_by": "integer",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "file_type": "string"
            }
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/reports/user-learning-object

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the users username,first name, last name and email and courses name and code and tarining material title. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: {"user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"},"course":{"name":"string","code":"string","type":"string","criteria":"string"},"training_materials_user":{"from_completion_date":"string","to_completion_date":"string","status":"string","from_assigned_date":"string","to_assigned_date":"string"},"training_material":{"title":"string","type":"string"},"criteria":"string"}. Example: {"user":{"username":"string","level":"string","email":"string","first_name":"string","last_name":"string","role_id":"integer","language":"string","criteria":"string"},"course":{"name":"string","code":"string","type":"string","criteria":"string"},"training_materials_user":{"from_completion_date":"string","to_completion_date":"string","status":"string","from_assigned_date":"string","to_assigned_date":"string"},"training_material":{"title":"string","type":"string"},"criteria":"string"}

Download user training material report

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/reports/user-learning-object/csv" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/reports/user-learning-object/csv"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/reports/user-learning-object/csv',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/reports/user-learning-object/csv'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "integer",
            "user_id": "integer",
            "training_material_id": "integer",
            "checked_for_course_completion": "string",
            "course_id": "integer",
            "assign_date": "date",
            "first_access_date": "date",
            "last_access_date": "date",
            "completion_date": "date",
            "score": "integer",
            "status": "string",
            "attempt": "integer",
            "created_at": "date",
            "user": {
                "id": "integer",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "name": "string",
                "email": "string",
                "email_verified_at": "string",
                "password_updated": "integer",
                "profile_picture": "string",
                "level": "string",
                "status": "integer",
                "language": "string",
                "date_format": "string",
                "timezone": "string",
                "permission_id": "integer",
                "role_id": "string",
                "expire_on": "date",
                "created_at": "date",
                "updated_at": "date",
                "role": {
                    "id": "integer",
                    "name": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "user_status": "string"
            },
            "course": {
                "id": "integer",
                "parent_course_id": "integer",
                "name": "string",
                "type": "string",
                "description": "string",
                "thumbnail": "string",
                "code": "string",
                "credits": "integer",
                "material": "string",
                "original_name": "string",
                "language_id": "integer",
                "status": "string",
                "category_id": "integer",
                "created_by": "integer",
                "updated_by": "integer",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "course_setting": {
                    "id": "integer",
                    "course_id": "integer",
                    "navigation": "string",
                    "completion": "string",
                    "enrollment": "string",
                    "start_date": "date",
                    "end_date": "string",
                    "duration_days": "integer",
                    "duration_from": "string",
                    "average_hours": "string",
                    "average_minutes": "string",
                    "average_seconds": "string",
                    "certificate_id": "integer",
                    "certificate_validity": "string",
                    "for_days": "integer",
                    "till_date": "date",
                    "allow_re_enroll_course": "integer",
                    "before_days_to_re_enroll": "integer",
                    "created_at": "date",
                    "updated_at": "date",
                    "deleted_at": "date"
                },
                "language": {
                    "id": "integer",
                    "code": "string",
                    "text": "string",
                    "created_at": "date",
                    "updated_at": "date"
                },
                "course_name": "string"
            },
            "training_material": {
                "id": "integer",
                "parent_training_material_id": "integer",
                "title": "string",
                "description": "string",
                "thumbnail": "string",
                "file": "string",
                "original_name": "string",
                "view_mode_desktop": "string",
                "view_mode_tablet": "string",
                "view_mode_mobile_app": "string",
                "type": "string",
                "created_by": "integer",
                "updated_by": "integer",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date",
                "file_type": "string"
            }
        }
    ]
}
 

Request   

GET api/reports/user-learning-object/csv

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Users

APIs for managing users

Upload users via CSV

Example request:
curl --request POST \
    "https://your_portal_url/v1/api/users/upload" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"users\": \"esse\"
}"
const url = new URL(
    "https://your_portal_url/v1/api/users/upload"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "users": "esse"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://your_portal_url/v1/api/users/upload',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'users' => 'esse',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/users/upload'
payload = {
    "users": "esse"
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):


{
    "message": "OK"
}
 

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "message": "(number) out of (number) Users added successfully.",
    "status": true
}
 

Example response (200):


{
    "message": "(number) out of (number) Users added successfully. Download error file link",
    "status": false,
    "url": "url"
}
 

Example response (200):


{
    "message": "The User must be a file of type: CSV",
    "status": true
}
 

Request   

POST api/users/upload

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

users   binary   

csv file of users Example: esse

Download sample file to upload users

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/users/sample" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/users/sample"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/users/sample',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/users/sample'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):


{
    "message": "OK"
}
 

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "Username": "string",
    "Level": "string",
    "First Name": "string",
    "Last Name": "string",
    "Password": "string",
    "Role": "string",
    "Language": "string",
    "Branch Code": "string"
}
 

Request   

GET api/users/sample

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Retrieves all users, filtered on input parameters

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/users?sort_dir=string&sort_name=string&pageNumber=0&filter=string&size=0&advanced_filter=%7B%22branch_id%22%3A%221%22%2C%22descendant%22%3A%221%22%7D" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/users"
);

const params = {
    "sort_dir": "string",
    "sort_name": "string",
    "pageNumber": "0",
    "filter": "string",
    "size": "0",
    "advanced_filter": "{"branch_id":"1","descendant":"1"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/users',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_dir' => 'string',
            'sort_name' => 'string',
            'pageNumber' => '0',
            'filter' => 'string',
            'size' => '0',
            'advanced_filter' => '{"branch_id":"1","descendant":"1"}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/users'
params = {
  'sort_dir': 'string',
  'sort_name': 'string',
  'pageNumber': '0',
  'filter': 'string',
  'size': '0',
  'advanced_filter': '{"branch_id":"1","descendant":"1"}',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (403):


{
    "message": "You are not authorized"
}
 

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (200):


{
    "data": [
        {
            "id": "integer",
            "username": "string",
            "first_name": "string",
            "last_name": "string",
            "name": "string",
            "email": "string",
            "email_verified_at": "date",
            "password_updated": "integer",
            "profile_picture": "string",
            "level": "string",
            "status": "enum(0,1)",
            "language": "string",
            "date_format": "string",
            "timezone": "string",
            "permission_id": "integer",
            "role_id": "integer",
            "expire_on": "date",
            "created_at": "date",
            "updated_at": "date",
            "permission": {
                "id": "integer",
                "name": "string",
                "permissions": "string",
                "created_at": "date",
                "updated_at": "date",
                "deleted_at": "date"
            },
            "role": "string",
            "branches": "array",
            "user_status": "string"
        }
    ],
    "links": {
        "first": "url",
        "last": "url",
        "prev": "url",
        "next": "url"
    },
    "meta": {
        "current_page": "integer",
        "from": "integer",
        "last_page": "integer",
        "path": "url",
        "per_page": "integer",
        "to": "integer",
        "total": "integer"
    }
}
 

Request   

GET api/users

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

sort_dir   string  optional  

Sorting Direction: asc = Ascending, desc = descending, default - desc. Example: string

sort_name   string  optional  

Sort by this field, default value - id. Example: string

pageNumber   integer  optional  

Page to return, default 1. Example: 0

filter   string  optional  

Search text in the users username,first name,last name and email. Default empty array. OR is performed across array items. Example: string

size   integer  optional  

Maximum number of results per page. Example: 0

advanced_filter   string  optional  

Additional optional filters to be applied over the returned result. example: advanced_filter:{"branch_id": id of branch,"descendant":value: 0 or 1}. Example: {"branch_id":"1","descendant":"1"}

View a user

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/users/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/users/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/users/1',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/users/1'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (400):


{
    "message": "General Error"
}
 

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (200):


{
    "id": "integer",
    "username": "string",
    "first_name": "string",
    "last_name": "string",
    "name": "string",
    "email": "string",
    "email_verified_at": "date",
    "password_updated": "integer",
    "profile_picture": "string",
    "level": "string",
    "status": "enum(0,1)",
    "language": "string",
    "date_format": "string",
    "timezone": "string",
    "permission_id": "integer",
    "role_id": "integer",
    "expire_on": "date",
    "created_at": "date",
    "updated_at": "date",
    "branches": [
        {
            "id": "integer",
            "name": "string",
            "branch_code": "string",
            "branch_id": "integer",
            "created_at": "date",
            "updated_at": "date",
            "pivot": {
                "user_id": "integer",
                "branch_id": "integer"
            }
        }
    ],
    "role": "string"
}
 

Example response (404):


{
    "message": "No query results for model [App\\User] ID"
}
 

Request   

GET api/users/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the user. Example: 1

user   string   

ID of the user to fetch. Example: maiores

Deletes a user

Example request:
curl --request DELETE \
    "https://your_portal_url/v1/api/users/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/users/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://your_portal_url/v1/api/users/1',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/users/1'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers)
response.json()

Example response (401):


{
    "message": "Unauthenticated"
}
 

Example response (400):


{
    "message": "General Error"
}
 

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (200):


{
    "message": "User deleted successfully.",
    "status": true
}
 

Example response (404):


{
    "message": "No query results for model [App\\User] ID"
}
 

Request   

DELETE api/users/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the user. Example: 1

user   string   

ID of the user to fetch. Example: ad

GET api/users/assign-courses-users/{id}/{status}

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/users/assign-courses-users/ut/aut" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/users/assign-courses-users/ut/aut"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/users/assign-courses-users/ut/aut',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/users/assign-courses-users/ut/aut'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
 

{
    "message": "",
    "exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
    "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Routing/AbstractRouteCollection.php",
    "line": 43,
    "trace": [
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php",
            "line": 162,
            "function": "handleMatchedRoute",
            "class": "Illuminate\\Routing\\AbstractRouteCollection",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 646,
            "function": "match",
            "class": "Illuminate\\Routing\\RouteCollection",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 635,
            "function": "findRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 624,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 166,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 128,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/app/Http/Middleware/SystemConfigurationMiddleware.php",
            "line": 31,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\SystemConfigurationMiddleware",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/app/Http/Middleware/Localization.php",
            "line": 49,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\Localization",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/fideloper/proxy/src/TrustProxies.php",
            "line": 57,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Fideloper\\Proxy\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 87,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 103,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 141,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 110,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 299,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 287,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 92,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 45,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 209,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 122,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 69,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 47,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 51,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 40,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 610,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 136,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/symfony/console/Command/Command.php",
            "line": 298,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 121,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/symfony/console/Application.php",
            "line": 1028,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/symfony/console/Application.php",
            "line": 299,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/symfony/console/Application.php",
            "line": 171,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Console/Application.php",
            "line": 93,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 129,
            "function": "run",
            "class": "Illuminate\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/var/www/html/knowzies_lms_api/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request   

GET api/users/assign-courses-users/{id}/{status}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the assign courses user. Example: ut

status   string   

Example: aut

Re-send user creation mail to particular user

Example request:
curl --request GET \
    --get "https://your_portal_url/v1/api/users/resend-mail/in" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://your_portal_url/v1/api/users/resend-mail/in"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://your_portal_url/v1/api/users/resend-mail/in',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://your_portal_url/v1/api/users/resend-mail/in'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (400):


{
    "message": "General Error"
}
 

Example response (500):


{
    "message": "Internal server error"
}
 

Example response (404):


{
    "message": "No query results for model [App\\User] ID"
}
 

Example response (200):


{
    "message": "Send",
    "status": true
}
 

Request   

GET api/users/resend-mail/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

ID of the user to fetch. Example: in