MENU navbar-image

Introduction

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

<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile).
You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).</aside>

Authenticating requests

This API is not authenticated.

Endpoints

GET api/user

Example request:
curl --request GET \
    --get "http://localhost/api/user" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/user"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Server Error"
}
 

Request      

GET api/user

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/courses/{course_id}/students

Example request:
curl --request GET \
    --get "http://localhost/api/admin/courses/17/students" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/courses/17/students"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/admin/courses/{course_id}/students

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

course_id   integer     

The ID of the course. Example: 17

GET api/admin/attendances

Example request:
curl --request GET \
    --get "http://localhost/api/admin/attendances" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/attendances"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/admin/attendances

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/attendances

Example request:
curl --request POST \
    "http://localhost/api/admin/attendances" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"session_no\": 17,
    \"attendances\": [
        {
            \"enrollment_id\": \"consequatur\",
            \"is_present\": 1
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/attendances"
);

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

let body = {
    "session_no": 17,
    "attendances": [
        {
            "enrollment_id": "consequatur",
            "is_present": 1
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/admin/attendances

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

session_no   integer     

Example: 17

attendances   object[]     
enrollment_id   string     

The id of an existing record in the enrollments table. Example: consequatur

is_present   string     

Example: 1

Must be one of:
  • 0
  • 1

GET api/admin/attendances/today

Example request:
curl --request GET \
    --get "http://localhost/api/admin/attendances/today" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/attendances/today"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/admin/attendances/today

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/cv-field-templates

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cv-field-templates" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cv-field-templates"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/admin/cv-field-templates

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/cv-field-templates

Example request:
curl --request POST \
    "http://localhost/api/admin/cv-field-templates" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"role\": \"Student\",
    \"templates\": [
        {
            \"label\": \"vmqeopfuudtdsufvyvddq\",
            \"field_key\": \"amniihfqcoynlazghdtqt\",
            \"is_required\": true,
            \"order\": 80,
            \"placeholder\": \"bajwbpilpmufinllwloau\",
            \"is_active\": false
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/cv-field-templates"
);

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

let body = {
    "role": "Student",
    "templates": [
        {
            "label": "vmqeopfuudtdsufvyvddq",
            "field_key": "amniihfqcoynlazghdtqt",
            "is_required": true,
            "order": 80,
            "placeholder": "bajwbpilpmufinllwloau",
            "is_active": false
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/admin/cv-field-templates

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

role   string     

Example: Student

Must be one of:
  • Student
  • Instructor
  • Trainer
templates   object[]     
label   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

field_key   string     

Must match the regex /^[a-z_]+$/. Must not be greater than 255 characters. Example: amniihfqcoynlazghdtqt

is_required   boolean  optional    

Example: true

order   integer  optional    

Must be at least 0. Example: 80

placeholder   string  optional    

Must not be greater than 255 characters. Example: bajwbpilpmufinllwloau

is_active   boolean  optional    

Example: false

DELETE api/admin/cv-field-templates/{id}

Example request:
curl --request DELETE \
    "http://localhost/api/admin/cv-field-templates/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cv-field-templates/17"
);

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


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/admin/cv-field-templates/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the cv field template. Example: 17

POST api/admin/cv-field-templates/update

Example request:
curl --request POST \
    "http://localhost/api/admin/cv-field-templates/update" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"role\": \"Student\",
    \"templates\": [
        {
            \"label\": \"vmqeopfuudtdsufvyvddq\",
            \"field_key\": \"amniihfqcoynlazghdtqt\",
            \"is_required\": true,
            \"order\": 80,
            \"placeholder\": \"bajwbpilpmufinllwloau\",
            \"is_active\": false
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/cv-field-templates/update"
);

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

let body = {
    "role": "Student",
    "templates": [
        {
            "label": "vmqeopfuudtdsufvyvddq",
            "field_key": "amniihfqcoynlazghdtqt",
            "is_required": true,
            "order": 80,
            "placeholder": "bajwbpilpmufinllwloau",
            "is_active": false
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/admin/cv-field-templates/update

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

role   string     

Example: Student

Must be one of:
  • Student
  • Instructor
  • Trainer
templates   object[]     
label   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

field_key   string     

Must match the regex /^[a-z_]+$/. Must not be greater than 255 characters. Example: amniihfqcoynlazghdtqt

is_required   boolean  optional    

Example: true

order   integer  optional    

Must be at least 0. Example: 80

placeholder   string  optional    

Must not be greater than 255 characters. Example: bajwbpilpmufinllwloau

is_active   boolean  optional    

Example: false

POST api/admin/cv-field-templates/{cvFieldTemplate_id}/toggle-activate

Example request:
curl --request POST \
    "http://localhost/api/admin/cv-field-templates/17/toggle-activate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cv-field-templates/17/toggle-activate"
);

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


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/admin/cv-field-templates/{cvFieldTemplate_id}/toggle-activate

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

cvFieldTemplate_id   integer     

The ID of the cvFieldTemplate. Example: 17

Get all CVs with user information and answers

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cvs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cvs"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/admin/cvs

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Get a specific CV with detailed answers

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cvs/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cvs/consequatur"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/admin/cvs/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the cv. Example: consequatur

GET api/cv

Example request:
curl --request GET \
    --get "http://localhost/api/cv" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/cv"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/cv

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/cv

Example request:
curl --request POST \
    "http://localhost/api/cv" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/cv"
);

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


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/cv

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/cv/update

Example request:
curl --request POST \
    "http://localhost/api/cv/update" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/cv/update"
);

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


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/cv/update

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/contact

Example request:
curl --request POST \
    "http://localhost/api/contact" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"vmqeopfuudtdsufvyvddq\",
    \"last_name\": \"amniihfqcoynlazghdtqt\",
    \"email\": \"andreanne00@example.org\",
    \"phone\": \"wbpilpmufinll\",
    \"message\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/contact"
);

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

let body = {
    "first_name": "vmqeopfuudtdsufvyvddq",
    "last_name": "amniihfqcoynlazghdtqt",
    "email": "andreanne00@example.org",
    "phone": "wbpilpmufinll",
    "message": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/contact

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

first_name   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

last_name   string     

Must not be greater than 255 characters. Example: amniihfqcoynlazghdtqt

email   string     

Must be a valid email address. Must not be greater than 255 characters. Example: andreanne00@example.org

phone   string     

Must not be greater than 15 characters. Example: wbpilpmufinll

message   string     

Example: consequatur

Example request:
curl --request GET \
    --get "http://localhost/api/admin/search" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"limit\": 21
}"
const url = new URL(
    "http://localhost/api/admin/search"
);

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

let body = {
    "limit": 21
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Example request:
curl --request GET \
    --get "http://localhost/api/search" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"limit\": 21
}"
const url = new URL(
    "http://localhost/api/search"
);

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

let body = {
    "limit": 21
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 59
access-control-allow-origin: *
 

{
    "status": true,
    "message": "Search completed successfully",
    "data": {
        "total_results": 0,
        "query": "",
        "results": []
    }
}
 

GET api/intros

Example request:
curl --request GET \
    --get "http://localhost/api/intros" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/intros"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 58
access-control-allow-origin: *
 

{
    "status": true,
    "message": "Intros fetched successfully",
    "data": {
        "data": []
    }
}
 

Request      

GET api/intros

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/intros

Example request:
curl --request POST \
    "http://localhost/api/intros" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title_ar=vmqeopfuudtdsufvyvddq"\
    --form "title_en=amniihfqcoynlazghdtqt"\
    --form "description_ar=consequatur"\
    --form "description_en=consequatur"\
    --form "section=consequatur"\
    --form "details[][title_ar]=mqeopfuudtdsufvyvddqa"\
    --form "details[][title_en]=mniihfqcoynlazghdtqtq"\
    --form "details[][description_ar]=consequatur"\
    --form "details[][description_en]=consequatur"\
    --form "image=@C:\Users\m\AppData\Local\Temp\php9270.tmp" \
    --form "details[][image]=@C:\Users\m\AppData\Local\Temp\php9281.tmp" 
const url = new URL(
    "http://localhost/api/intros"
);

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

const body = new FormData();
body.append('title_ar', 'vmqeopfuudtdsufvyvddq');
body.append('title_en', 'amniihfqcoynlazghdtqt');
body.append('description_ar', 'consequatur');
body.append('description_en', 'consequatur');
body.append('section', 'consequatur');
body.append('details[][title_ar]', 'mqeopfuudtdsufvyvddqa');
body.append('details[][title_en]', 'mniihfqcoynlazghdtqtq');
body.append('details[][description_ar]', 'consequatur');
body.append('details[][description_en]', 'consequatur');
body.append('image', document.querySelector('input[name="image"]').files[0]);
body.append('details[][image]', document.querySelector('input[name="details[][image]"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/intros

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

title_ar   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

title_en   string  optional    

Must not be greater than 255 characters. Example: amniihfqcoynlazghdtqt

description_ar   string  optional    

Example: consequatur

description_en   string  optional    

Example: consequatur

image   file  optional    

Must be an image. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9270.tmp

section   string  optional    

Example: consequatur

details   object[]  optional    
title_ar   string  optional    

Must not be greater than 255 characters. Example: mqeopfuudtdsufvyvddqa

title_en   string  optional    

Must not be greater than 255 characters. Example: mniihfqcoynlazghdtqtq

description_ar   string  optional    

Example: consequatur

description_en   string  optional    

Example: consequatur

image   file  optional    

Must be an image. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9281.tmp

DELETE api/intros/{id}

Example request:
curl --request DELETE \
    "http://localhost/api/intros/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/intros/17"
);

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


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/intros/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the intro. Example: 17

POST api/intros/{intro_id}

Example request:
curl --request POST \
    "http://localhost/api/intros/17" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title_ar=vmqeopfuudtdsufvyvddq"\
    --form "title_en=amniihfqcoynlazghdtqt"\
    --form "description_ar=consequatur"\
    --form "description_en=consequatur"\
    --form "section=consequatur"\
    --form "details[][id]=mqeopfuudtdsufvyvddqa"\
    --form "details[][title_ar]=mniihfqcoynlazghdtqtq"\
    --form "details[][title_en]=xbajwbpilpmufinllwloa"\
    --form "details[][description_ar]=consequatur"\
    --form "details[][description_en]=consequatur"\
    --form "image=@C:\Users\m\AppData\Local\Temp\php92A1.tmp" \
    --form "details[][image]=@C:\Users\m\AppData\Local\Temp\php92A2.tmp" 
const url = new URL(
    "http://localhost/api/intros/17"
);

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

const body = new FormData();
body.append('title_ar', 'vmqeopfuudtdsufvyvddq');
body.append('title_en', 'amniihfqcoynlazghdtqt');
body.append('description_ar', 'consequatur');
body.append('description_en', 'consequatur');
body.append('section', 'consequatur');
body.append('details[][id]', 'mqeopfuudtdsufvyvddqa');
body.append('details[][title_ar]', 'mniihfqcoynlazghdtqtq');
body.append('details[][title_en]', 'xbajwbpilpmufinllwloa');
body.append('details[][description_ar]', 'consequatur');
body.append('details[][description_en]', 'consequatur');
body.append('image', document.querySelector('input[name="image"]').files[0]);
body.append('details[][image]', document.querySelector('input[name="details[][image]"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/intros/{intro_id}

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

intro_id   integer     

The ID of the intro. Example: 17

Body Parameters

title_ar   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

title_en   string  optional    

Must not be greater than 255 characters. Example: amniihfqcoynlazghdtqt

description_ar   string  optional    

Example: consequatur

description_en   string  optional    

Example: consequatur

image   file  optional    

Must be an image. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php92A1.tmp

section   string  optional    

Example: consequatur

details   object[]  optional    
id   string  optional    

This field is required when details is present. Must not be greater than 255 characters. Example: mqeopfuudtdsufvyvddqa

title_ar   string  optional    

Must not be greater than 255 characters. Example: mniihfqcoynlazghdtqtq

title_en   string  optional    

Must not be greater than 255 characters. Example: xbajwbpilpmufinllwloa

description_ar   string  optional    

Example: consequatur

description_en   string  optional    

Example: consequatur

image   file  optional    

Must be an image. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php92A2.tmp

GET api/admin/settings

Example request:
curl --request GET \
    --get "http://localhost/api/admin/settings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/settings"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 57
access-control-allow-origin: *
 

{
    "status": true,
    "message": "Settings retrieved successfully",
    "data": {
        "facebook": "",
        "x": "",
        "tiktok": "",
        "snapchat": "",
        "email": "",
        "whatsapp": "",
        "instagram": "",
        "youtube": "",
        "phone": ""
    }
}
 

Request      

GET api/admin/settings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/admin/settings

Example request:
curl --request PUT \
    "http://localhost/api/admin/settings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/settings"
);

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


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request      

PUT api/admin/settings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/courses/import

Example request:
curl --request POST \
    "http://localhost/api/admin/courses/import" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "file=@C:\Users\m\AppData\Local\Temp\php92E2.tmp" 
const url = new URL(
    "http://localhost/api/admin/courses/import"
);

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

const body = new FormData();
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/admin/courses/import

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

file   file     

Must be a file. Must not be greater than 2048 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php92E2.tmp

GET api/admin/courses

Example request:
curl --request GET \
    --get "http://localhost/api/admin/courses" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/courses"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/admin/courses

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/courses

Example request:
curl --request POST \
    "http://localhost/api/admin/courses" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=vmqeopfuudtdsufvyvddq"\
    --form "description=Dolores dolorum amet iste laborum eius est dolor."\
    --form "trainer_id=consequatur"\
    --form "sessions_no=45"\
    --form "price=56"\
    --form "date=2026-06-01T13:47:09"\
    --form "student=consequatur"\
    --form "instructor=consequatur"\
    --form "trainer=consequatur"\
    --form "image=@C:\Users\m\AppData\Local\Temp\php9303.tmp" \
    --form "survey_file=@C:\Users\m\AppData\Local\Temp\php9304.tmp" \
    --form "details_file=@C:\Users\m\AppData\Local\Temp\php9305.tmp" 
const url = new URL(
    "http://localhost/api/admin/courses"
);

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

const body = new FormData();
body.append('title', 'vmqeopfuudtdsufvyvddq');
body.append('description', 'Dolores dolorum amet iste laborum eius est dolor.');
body.append('trainer_id', 'consequatur');
body.append('sessions_no', '45');
body.append('price', '56');
body.append('date', '2026-06-01T13:47:09');
body.append('student', 'consequatur');
body.append('instructor', 'consequatur');
body.append('trainer', 'consequatur');
body.append('image', document.querySelector('input[name="image"]').files[0]);
body.append('survey_file', document.querySelector('input[name="survey_file"]').files[0]);
body.append('details_file', document.querySelector('input[name="details_file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/admin/courses

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

title   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

description   string  optional    

Example: Dolores dolorum amet iste laborum eius est dolor.

image   file  optional    

Must be an image. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9303.tmp

trainer_id   string     

The id of an existing record in the users table. Example: consequatur

sessions_no   integer  optional    

Must be at least 1. Example: 45

price   number  optional    

Must be at least 0. Example: 56

date   string  optional    

Must be a valid date. Example: 2026-06-01T13:47:09

survey_file   file  optional    

Must be a file. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9304.tmp

details_file   file  optional    

Must be a file. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9305.tmp

student   string  optional    

Example: consequatur

instructor   string  optional    

Example: consequatur

trainer   string  optional    

Example: consequatur

DELETE api/admin/courses/{id}

Example request:
curl --request DELETE \
    "http://localhost/api/admin/courses/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/courses/17"
);

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


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/admin/courses/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the course. Example: 17

POST api/admin/courses/{course_id}

Example request:
curl --request POST \
    "http://localhost/api/admin/courses/17" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=vmqeopfuudtdsufvyvddq"\
    --form "description=Dolores dolorum amet iste laborum eius est dolor."\
    --form "trainer_id=consequatur"\
    --form "sessions_no=45"\
    --form "price=56"\
    --form "date=2026-06-01T13:47:09"\
    --form "student=consequatur"\
    --form "instructor=consequatur"\
    --form "trainer=consequatur"\
    --form "image=@C:\Users\m\AppData\Local\Temp\php9325.tmp" \
    --form "survey_file=@C:\Users\m\AppData\Local\Temp\php9336.tmp" \
    --form "details_file=@C:\Users\m\AppData\Local\Temp\php9337.tmp" 
const url = new URL(
    "http://localhost/api/admin/courses/17"
);

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

const body = new FormData();
body.append('title', 'vmqeopfuudtdsufvyvddq');
body.append('description', 'Dolores dolorum amet iste laborum eius est dolor.');
body.append('trainer_id', 'consequatur');
body.append('sessions_no', '45');
body.append('price', '56');
body.append('date', '2026-06-01T13:47:09');
body.append('student', 'consequatur');
body.append('instructor', 'consequatur');
body.append('trainer', 'consequatur');
body.append('image', document.querySelector('input[name="image"]').files[0]);
body.append('survey_file', document.querySelector('input[name="survey_file"]').files[0]);
body.append('details_file', document.querySelector('input[name="details_file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/admin/courses/{course_id}

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

course_id   integer     

The ID of the course. Example: 17

Body Parameters

title   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

description   string  optional    

Example: Dolores dolorum amet iste laborum eius est dolor.

image   file  optional    

Must be an image. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9325.tmp

trainer_id   string     

The id of an existing record in the users table. Example: consequatur

sessions_no   integer  optional    

Must be at least 1. Example: 45

price   number  optional    

Must be at least 0. Example: 56

date   string  optional    

Must be a valid date. Example: 2026-06-01T13:47:09

survey_file   file  optional    

Must be a file. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9336.tmp

details_file   file  optional    

Must be a file. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9337.tmp

student   string  optional    

Example: consequatur

instructor   string  optional    

Example: consequatur

trainer   string  optional    

Example: consequatur

POST api/admin/courses/{course_id}/toggle-activate

Example request:
curl --request POST \
    "http://localhost/api/admin/courses/17/toggle-activate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/courses/17/toggle-activate"
);

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


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/admin/courses/{course_id}/toggle-activate

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

course_id   integer     

The ID of the course. Example: 17

POST api/admin/courses/{course_id}/accept

Example request:
curl --request POST \
    "http://localhost/api/admin/courses/17/accept" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/courses/17/accept"
);

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


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/admin/courses/{course_id}/accept

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

course_id   integer     

The ID of the course. Example: 17

GET api/admin/courses/notes

Example request:
curl --request GET \
    --get "http://localhost/api/admin/courses/notes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/courses/notes"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/admin/courses/notes

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/courses/notes/{note_id}/update-status

Example request:
curl --request POST \
    "http://localhost/api/admin/courses/notes/17/update-status" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"reviewed\"
}"
const url = new URL(
    "http://localhost/api/admin/courses/notes/17/update-status"
);

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

let body = {
    "status": "reviewed"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/admin/courses/notes/{note_id}/update-status

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

note_id   integer     

The ID of the note. Example: 17

Body Parameters

status   string     

Example: reviewed

Must be one of:
  • reviewed
  • in_progress
  • cancelled

GET api/courses

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

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 56
access-control-allow-origin: *
 

{
    "status": true,
    "message": "Courses Fetched Successfully.",
    "data": []
}
 

Request      

GET api/courses

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/courses/notes

Example request:
curl --request GET \
    --get "http://localhost/api/courses/notes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/courses/notes"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/courses/notes

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/courses/{course_id}/notes

Example request:
curl --request POST \
    "http://localhost/api/courses/17/notes" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "note=consequatur"\
    --form "file=@C:\Users\m\AppData\Local\Temp\php93E4.tmp" 
const url = new URL(
    "http://localhost/api/courses/17/notes"
);

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

const body = new FormData();
body.append('note', 'consequatur');
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/courses/{course_id}/notes

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

course_id   integer     

The ID of the course. Example: 17

Body Parameters

note   string     

Example: consequatur

file   file  optional    

Must be a file. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php93E4.tmp

DELETE api/courses/{course_id}/notes/{id}

Example request:
curl --request DELETE \
    "http://localhost/api/courses/17/notes/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/courses/17/notes/17"
);

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


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/courses/{course_id}/notes/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

course_id   integer     

The ID of the course. Example: 17

id   integer     

The ID of the note. Example: 17

POST api/courses/{course_id}/notes/{note_id}

Example request:
curl --request POST \
    "http://localhost/api/courses/17/notes/17" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "note=consequatur"\
    --form "file=@C:\Users\m\AppData\Local\Temp\php93F4.tmp" 
const url = new URL(
    "http://localhost/api/courses/17/notes/17"
);

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

const body = new FormData();
body.append('note', 'consequatur');
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/courses/{course_id}/notes/{note_id}

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

course_id   integer     

The ID of the course. Example: 17

note_id   integer     

The ID of the note. Example: 17

Body Parameters

note   string     

Example: consequatur

file   file  optional    

Must be a file. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php93F4.tmp

GET api/admin/enrollments

Example request:
curl --request GET \
    --get "http://localhost/api/admin/enrollments" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/enrollments"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/admin/enrollments

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/enrollments/{enrollment_id}

Example request:
curl --request POST \
    "http://localhost/api/admin/enrollments/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/enrollments/17"
);

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


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/admin/enrollments/{enrollment_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

enrollment_id   integer     

The ID of the enrollment. Example: 17

GET api/admin/enrollments/notes

Example request:
curl --request GET \
    --get "http://localhost/api/admin/enrollments/notes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/enrollments/notes"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/admin/enrollments/notes

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/enrollments/notes/{note_id}/update-status

Example request:
curl --request POST \
    "http://localhost/api/admin/enrollments/notes/17/update-status" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"reviewed\"
}"
const url = new URL(
    "http://localhost/api/admin/enrollments/notes/17/update-status"
);

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

let body = {
    "status": "reviewed"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/admin/enrollments/notes/{note_id}/update-status

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

note_id   integer     

The ID of the note. Example: 17

Body Parameters

status   string     

Example: reviewed

Must be one of:
  • reviewed
  • in_progress
  • cancelled

GET api/enrollments

Example request:
curl --request GET \
    --get "http://localhost/api/enrollments" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/enrollments"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/enrollments

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/enrollments

Example request:
curl --request POST \
    "http://localhost/api/enrollments" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"course_id\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/enrollments"
);

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

let body = {
    "course_id": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/enrollments

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

course_id   string     

The id of an existing record in the courses table. Example: consequatur

GET api/enrollments/notes

Example request:
curl --request GET \
    --get "http://localhost/api/enrollments/notes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/enrollments/notes"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/enrollments/notes

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/enrollments/{enrollment_id}/notes

Example request:
curl --request POST \
    "http://localhost/api/enrollments/17/notes" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "note=consequatur"\
    --form "file=@C:\Users\m\AppData\Local\Temp\php9463.tmp" 
const url = new URL(
    "http://localhost/api/enrollments/17/notes"
);

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

const body = new FormData();
body.append('note', 'consequatur');
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/enrollments/{enrollment_id}/notes

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

enrollment_id   integer     

The ID of the enrollment. Example: 17

Body Parameters

note   string     

Example: consequatur

file   file  optional    

Must be a file. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9463.tmp

POST api/enrollments/{enrollment_id}/notes/{note_id}

Example request:
curl --request POST \
    "http://localhost/api/enrollments/17/notes/17" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "note=consequatur"\
    --form "file=@C:\Users\m\AppData\Local\Temp\php9473.tmp" 
const url = new URL(
    "http://localhost/api/enrollments/17/notes/17"
);

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

const body = new FormData();
body.append('note', 'consequatur');
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/enrollments/{enrollment_id}/notes/{note_id}

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

enrollment_id   integer     

The ID of the enrollment. Example: 17

note_id   integer     

The ID of the note. Example: 17

Body Parameters

note   string     

Example: consequatur

file   file  optional    

Must be a file. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9473.tmp

POST api/admin/exams/import

Example request:
curl --request POST \
    "http://localhost/api/admin/exams/import" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "file=@C:\Users\m\AppData\Local\Temp\php9484.tmp" 
const url = new URL(
    "http://localhost/api/admin/exams/import"
);

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

const body = new FormData();
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/admin/exams/import

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

file   file     

Must be a file. Must not be greater than 2048 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9484.tmp

GET api/admin/exams

Example request:
curl --request GET \
    --get "http://localhost/api/admin/exams" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/exams"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/admin/exams

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

DELETE api/admin/exams/{id}

Example request:
curl --request DELETE \
    "http://localhost/api/admin/exams/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"exams\": [
        {
            \"title\": \"vmqeopfuudtdsufvyvddq\",
            \"score\": 1,
            \"total\": 13
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/exams/17"
);

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

let body = {
    "exams": [
        {
            "title": "vmqeopfuudtdsufvyvddq",
            "score": 1,
            "total": 13
        }
    ]
};

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

DELETE api/admin/exams/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the exam. Example: 17

Body Parameters

exams   object[]     
title   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

score   number     

Must be at least 0. Must not be greater than 255. Example: 1

total   number     

Must be at least 0. Must not be greater than 255. Example: 13

POST api/admin/exams/{exam_id}

Example request:
curl --request POST \
    "http://localhost/api/admin/exams/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"exams\": [
        {
            \"title\": \"vmqeopfuudtdsufvyvddq\",
            \"score\": 1,
            \"total\": 13
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/exams/17"
);

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

let body = {
    "exams": [
        {
            "title": "vmqeopfuudtdsufvyvddq",
            "score": 1,
            "total": 13
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/admin/exams/{exam_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

exam_id   integer     

The ID of the exam. Example: 17

Body Parameters

exams   object[]     
title   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

score   number     

Must be at least 0. Must not be greater than 255. Example: 1

total   number     

Must be at least 0. Must not be greater than 255. Example: 13

POST api/admin/exams/{exam_id}/toggle-activate

Example request:
curl --request POST \
    "http://localhost/api/admin/exams/17/toggle-activate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/exams/17/toggle-activate"
);

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


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/admin/exams/{exam_id}/toggle-activate

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

exam_id   integer     

The ID of the exam. Example: 17

POST api/admin/enrollments/{enrollment_id}/exams

Example request:
curl --request POST \
    "http://localhost/api/admin/enrollments/17/exams" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"exams\": [
        {
            \"title\": \"vmqeopfuudtdsufvyvddq\",
            \"score\": 1,
            \"total\": 13
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/enrollments/17/exams"
);

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

let body = {
    "exams": [
        {
            "title": "vmqeopfuudtdsufvyvddq",
            "score": 1,
            "total": 13
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/admin/enrollments/{enrollment_id}/exams

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

enrollment_id   integer     

The ID of the enrollment. Example: 17

Body Parameters

exams   object[]     
title   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

score   number     

Must be at least 0. Must not be greater than 255. Example: 1

total   number     

Must be at least 0. Must not be greater than 255. Example: 13

GET api/exams

Example request:
curl --request GET \
    --get "http://localhost/api/exams" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/exams"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/exams

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/question-categories

Example request:
curl --request GET \
    --get "http://localhost/api/admin/question-categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/question-categories"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/admin/question-categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/question-categories

Example request:
curl --request POST \
    "http://localhost/api/admin/question-categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"vmqeopfuudtdsufvyvddq\",
    \"questions\": [
        \"consequatur\"
    ]
}"
const url = new URL(
    "http://localhost/api/admin/question-categories"
);

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

let body = {
    "title": "vmqeopfuudtdsufvyvddq",
    "questions": [
        "consequatur"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/admin/question-categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

title   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

questions   string[]  optional    

This field is required when questions is present.

instructor_id   string  optional    

The id of an existing record in the users table.

DELETE api/admin/question-categories/{id}

Example request:
curl --request DELETE \
    "http://localhost/api/admin/question-categories/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/question-categories/17"
);

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


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/admin/question-categories/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the question category. Example: 17

POST api/admin/question-categories/{questionCategory_id}

Example request:
curl --request POST \
    "http://localhost/api/admin/question-categories/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"vmqeopfuudtdsufvyvddq\",
    \"questions\": [
        \"consequatur\"
    ]
}"
const url = new URL(
    "http://localhost/api/admin/question-categories/17"
);

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

let body = {
    "title": "vmqeopfuudtdsufvyvddq",
    "questions": [
        "consequatur"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/admin/question-categories/{questionCategory_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

questionCategory_id   integer     

The ID of the questionCategory. Example: 17

Body Parameters

title   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

questions   string[]  optional    

This field is required when questions is present.

instructor_id   string  optional    

The id of an existing record in the users table.

DELETE api/admin/questions/{question_id}

Example request:
curl --request DELETE \
    "http://localhost/api/admin/questions/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/questions/17"
);

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


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/admin/questions/{question_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

question_id   integer     

The ID of the question. Example: 17

GET api/survey/questions

Example request:
curl --request GET \
    --get "http://localhost/api/survey/questions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/survey/questions"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/survey/questions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/survey/answers

Example request:
curl --request POST \
    "http://localhost/api/survey/answers" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"answers\": [
        {
            \"survey_question_id\": \"consequatur\",
            \"answer\": \"consequatur\"
        }
    ],
    \"answerable_type\": \"course\",
    \"answerable_id\": 17
}"
const url = new URL(
    "http://localhost/api/survey/answers"
);

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

let body = {
    "answers": [
        {
            "survey_question_id": "consequatur",
            "answer": "consequatur"
        }
    ],
    "answerable_type": "course",
    "answerable_id": 17
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/survey/answers

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

answers   object[]     
survey_question_id   string     

The id of an existing record in the survey_questions table. Example: consequatur

answer   string     

Example: consequatur

answerable_type   string  optional    

Example: course

Must be one of:
  • course
  • instructor
  • trainer
answerable_id   integer  optional    

This field is required when answerable_type is present. Example: 17

GET api/survey/my-submissions

Example request:
curl --request GET \
    --get "http://localhost/api/survey/my-submissions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/survey/my-submissions"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/survey/my-submissions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/survey/answers

Example request:
curl --request GET \
    --get "http://localhost/api/admin/survey/answers" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/survey/answers"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/admin/survey/answers

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/survey/answers/by-category

Example request:
curl --request GET \
    --get "http://localhost/api/admin/survey/answers/by-category" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/survey/answers/by-category"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/admin/survey/answers/by-category

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Get a JWT via given credentials.

Example request:
curl --request POST \
    "http://localhost/api/user/auth/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"identity_number\": \"consequatur\",
    \"password\": \"O[2UZ5ij-e\\/dl4m{o,\"
}"
const url = new URL(
    "http://localhost/api/user/auth/login"
);

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

let body = {
    "identity_number": "consequatur",
    "password": "O[2UZ5ij-e\/dl4m{o,"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/user/auth/login

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

identity_number   string     

The identity_number of an existing record in the users table. Example: consequatur

password   string     

Example: O[2UZ5ij-e/dl4m{o,

Log the user out (Invalidate the token).

Example request:
curl --request POST \
    "http://localhost/api/user/auth/logout" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/user/auth/logout"
);

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


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/user/auth/logout

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Refresh a token.

Example request:
curl --request POST \
    "http://localhost/api/user/auth/refresh" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/user/auth/refresh"
);

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


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/user/auth/refresh

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Get the authenticated User.

Example request:
curl --request POST \
    "http://localhost/api/user/auth/me" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/user/auth/me"
);

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


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/user/auth/me

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/user/change-password

Example request:
curl --request POST \
    "http://localhost/api/user/change-password" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"current_password\": \"consequatur\",
    \"new_password\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/user/change-password"
);

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

let body = {
    "current_password": "consequatur",
    "new_password": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/user/change-password

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

current_password   string     

Example: consequatur

new_password   string     

Example: consequatur

POST api/user/update-profile

Example request:
curl --request POST \
    "http://localhost/api/user/update-profile" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=vmqeopfuudtdsufvyvddq"\
    --form "phone=consequatur"\
    --form "email=carolyne.luettgen@example.org"\
    --form "identity_number=consequatur"\
    --form "username=consequatur"\
    --form "national_number=consequatur"\
    --form "birth_date=2026-06-01T13:47:10"\
    --form "image=@C:\Users\m\AppData\Local\Temp\php9590.tmp" \
    --form "file=@C:\Users\m\AppData\Local\Temp\php9591.tmp" 
const url = new URL(
    "http://localhost/api/user/update-profile"
);

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

const body = new FormData();
body.append('name', 'vmqeopfuudtdsufvyvddq');
body.append('phone', 'consequatur');
body.append('email', 'carolyne.luettgen@example.org');
body.append('identity_number', 'consequatur');
body.append('username', 'consequatur');
body.append('national_number', 'consequatur');
body.append('birth_date', '2026-06-01T13:47:10');
body.append('image', document.querySelector('input[name="image"]').files[0]);
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/user/update-profile

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

phone   string  optional    

Example: consequatur

email   string  optional    

Must be a valid email address. Example: carolyne.luettgen@example.org

image   file  optional    

Must be an image. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9590.tmp

identity_number   string  optional    

Example: consequatur

username   string  optional    

Example: consequatur

national_number   string  optional    

Example: consequatur

birth_date   string  optional    

Must be a valid date. Example: 2026-06-01T13:47:10

file   file  optional    

Must be a file. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9591.tmp

POST api/user/forgot-password

Example request:
curl --request POST \
    "http://localhost/api/user/forgot-password" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"qkunze@example.com\"
}"
const url = new URL(
    "http://localhost/api/user/forgot-password"
);

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

let body = {
    "email": "qkunze@example.com"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/user/forgot-password

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email   string     

Must be a valid email address. The email of an existing record in the users table. Example: qkunze@example.com

POST api/user/validate-reset-token

Example request:
curl --request POST \
    "http://localhost/api/user/validate-reset-token" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"token\": \"consequatur\",
    \"email\": \"carolyne.luettgen@example.org\"
}"
const url = new URL(
    "http://localhost/api/user/validate-reset-token"
);

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

let body = {
    "token": "consequatur",
    "email": "carolyne.luettgen@example.org"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/user/validate-reset-token

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

token   string     

Example: consequatur

email   string     

Must be a valid email address. Example: carolyne.luettgen@example.org

POST api/user/reset-password

Example request:
curl --request POST \
    "http://localhost/api/user/reset-password" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"token\": \"consequatur\",
    \"email\": \"carolyne.luettgen@example.org\",
    \"password\": \"ij-e\\/dl4m\"
}"
const url = new URL(
    "http://localhost/api/user/reset-password"
);

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

let body = {
    "token": "consequatur",
    "email": "carolyne.luettgen@example.org",
    "password": "ij-e\/dl4m"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/user/reset-password

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

token   string     

Example: consequatur

email   string     

Must be a valid email address. The email of an existing record in the users table. Example: carolyne.luettgen@example.org

password   string     

Must be at least 6 characters. Example: ij-e/dl4m

GET api/admin/academies

Example request:
curl --request GET \
    --get "http://localhost/api/admin/academies" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/academies"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 55
access-control-allow-origin: *
 

{
    "message": "Server Error"
}
 

Request      

GET api/admin/academies

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/academies

Example request:
curl --request POST \
    "http://localhost/api/admin/academies" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\"
}"
const url = new URL(
    "http://localhost/api/admin/academies"
);

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

let body = {
    "name": "vmqeopfuudtdsufvyvddq"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/admin/academies

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

GET api/admin/academies/{id}

Example request:
curl --request GET \
    --get "http://localhost/api/admin/academies/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/academies/consequatur"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 54
access-control-allow-origin: *
 

{
    "message": "Server Error"
}
 

Request      

GET api/admin/academies/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the academy. Example: consequatur

DELETE api/admin/academies/{id}

Example request:
curl --request DELETE \
    "http://localhost/api/admin/academies/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/academies/consequatur"
);

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


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/admin/academies/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the academy. Example: consequatur

POST api/admin/academies/{academy}

Example request:
curl --request POST \
    "http://localhost/api/admin/academies/consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\"
}"
const url = new URL(
    "http://localhost/api/admin/academies/consequatur"
);

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

let body = {
    "name": "vmqeopfuudtdsufvyvddq"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/admin/academies/{academy}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

academy   string     

The academy. Example: consequatur

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

POST api/admin/trainers/import

Example request:
curl --request POST \
    "http://localhost/api/admin/trainers/import" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "file=@C:\Users\m\AppData\Local\Temp\php961E.tmp" 
const url = new URL(
    "http://localhost/api/admin/trainers/import"
);

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

const body = new FormData();
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/admin/trainers/import

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

file   file     

Must be a file. Must not be greater than 2048 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php961E.tmp

GET api/admin/trainers

Example request:
curl --request GET \
    --get "http://localhost/api/admin/trainers" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/trainers"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/admin/trainers

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/trainers

Example request:
curl --request POST \
    "http://localhost/api/admin/trainers" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=vmqeopfuudtdsufvyvddq"\
    --form "birth_date=2026-06-01T13:47:10"\
    --form "email=kunde.eloisa@example.com"\
    --form "phone=hfqcoynlazghdtqtqxbaj"\
    --form "username=consequatur"\
    --form "identity_number=consequatur"\
    --form "national_number=consequatur"\
    --form "password=O[2UZ5ij-e/dl4m{o,"\
    --form "image=@C:\Users\m\AppData\Local\Temp\php9640.tmp" \
    --form "file=@C:\Users\m\AppData\Local\Temp\php9641.tmp" 
const url = new URL(
    "http://localhost/api/admin/trainers"
);

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

const body = new FormData();
body.append('name', 'vmqeopfuudtdsufvyvddq');
body.append('birth_date', '2026-06-01T13:47:10');
body.append('email', 'kunde.eloisa@example.com');
body.append('phone', 'hfqcoynlazghdtqtqxbaj');
body.append('username', 'consequatur');
body.append('identity_number', 'consequatur');
body.append('national_number', 'consequatur');
body.append('password', 'O[2UZ5ij-e/dl4m{o,');
body.append('image', document.querySelector('input[name="image"]').files[0]);
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/admin/trainers

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

image   file  optional    

Must be an image. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9640.tmp

birth_date   string  optional    

Must be a valid date. Example: 2026-06-01T13:47:10

file   file  optional    

Must be a file. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9641.tmp

email   string  optional    

Must be a valid email address. Example: kunde.eloisa@example.com

phone   string  optional    

Must not be greater than 255 characters. Example: hfqcoynlazghdtqtqxbaj

username   string     

Example: consequatur

identity_number   string  optional    

Example: consequatur

national_number   string  optional    

Example: consequatur

password   string     

Example: O[2UZ5ij-e/dl4m{o,

POST api/admin/trainers/{user_id}

Example request:
curl --request POST \
    "http://localhost/api/admin/trainers/1" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=vmqeopfuudtdsufvyvddq"\
    --form "birth_date=2026-06-01T13:47:10"\
    --form "email=kunde.eloisa@example.com"\
    --form "phone=hfqcoynlazghdtqtqxbaj"\
    --form "username=consequatur"\
    --form "identity_number=consequatur"\
    --form "national_number=consequatur"\
    --form "password=O[2UZ5ij-e/dl4m{o,"\
    --form "image=@C:\Users\m\AppData\Local\Temp\php9661.tmp" \
    --form "file=@C:\Users\m\AppData\Local\Temp\php9662.tmp" 
const url = new URL(
    "http://localhost/api/admin/trainers/1"
);

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

const body = new FormData();
body.append('name', 'vmqeopfuudtdsufvyvddq');
body.append('birth_date', '2026-06-01T13:47:10');
body.append('email', 'kunde.eloisa@example.com');
body.append('phone', 'hfqcoynlazghdtqtqxbaj');
body.append('username', 'consequatur');
body.append('identity_number', 'consequatur');
body.append('national_number', 'consequatur');
body.append('password', 'O[2UZ5ij-e/dl4m{o,');
body.append('image', document.querySelector('input[name="image"]').files[0]);
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/admin/trainers/{user_id}

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

user_id   integer     

The ID of the user. Example: 1

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

image   file  optional    

Must be an image. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9661.tmp

birth_date   string  optional    

Must be a valid date. Example: 2026-06-01T13:47:10

file   file  optional    

Must be a file. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9662.tmp

email   string  optional    

Must be a valid email address. Example: kunde.eloisa@example.com

phone   string  optional    

Must not be greater than 255 characters. Example: hfqcoynlazghdtqtqxbaj

username   string     

Example: consequatur

identity_number   string  optional    

Example: consequatur

national_number   string  optional    

Example: consequatur

password   string     

Example: O[2UZ5ij-e/dl4m{o,

POST api/admin/instructors/import

Example request:
curl --request POST \
    "http://localhost/api/admin/instructors/import" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "file=@C:\Users\m\AppData\Local\Temp\php9672.tmp" 
const url = new URL(
    "http://localhost/api/admin/instructors/import"
);

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

const body = new FormData();
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/admin/instructors/import

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

file   file     

Must be a file. Must not be greater than 2048 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9672.tmp

GET api/admin/instructors

Example request:
curl --request GET \
    --get "http://localhost/api/admin/instructors" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/instructors"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 53
access-control-allow-origin: *
 

{
    "status": true,
    "message": "Instructors Fetched Successfully.",
    "data": []
}
 

Request      

GET api/admin/instructors

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/instructors

Example request:
curl --request POST \
    "http://localhost/api/admin/instructors" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=vmqeopfuudtdsufvyvddq"\
    --form "birth_date=2026-06-01T13:47:10"\
    --form "email=kunde.eloisa@example.com"\
    --form "phone=hfqcoynlazghdtqtqxbaj"\
    --form "username=consequatur"\
    --form "identity_number=consequatur"\
    --form "national_number=consequatur"\
    --form "password=O[2UZ5ij-e/dl4m{o,"\
    --form "image=@C:\Users\m\AppData\Local\Temp\php9694.tmp" \
    --form "file=@C:\Users\m\AppData\Local\Temp\php9695.tmp" 
const url = new URL(
    "http://localhost/api/admin/instructors"
);

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

const body = new FormData();
body.append('name', 'vmqeopfuudtdsufvyvddq');
body.append('birth_date', '2026-06-01T13:47:10');
body.append('email', 'kunde.eloisa@example.com');
body.append('phone', 'hfqcoynlazghdtqtqxbaj');
body.append('username', 'consequatur');
body.append('identity_number', 'consequatur');
body.append('national_number', 'consequatur');
body.append('password', 'O[2UZ5ij-e/dl4m{o,');
body.append('image', document.querySelector('input[name="image"]').files[0]);
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/admin/instructors

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

image   file  optional    

Must be an image. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9694.tmp

birth_date   string  optional    

Must be a valid date. Example: 2026-06-01T13:47:10

file   file  optional    

Must be a file. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php9695.tmp

email   string  optional    

Must be a valid email address. Example: kunde.eloisa@example.com

phone   string  optional    

Must not be greater than 255 characters. Example: hfqcoynlazghdtqtqxbaj

username   string     

Example: consequatur

identity_number   string  optional    

Example: consequatur

national_number   string  optional    

Example: consequatur

password   string     

Example: O[2UZ5ij-e/dl4m{o,

POST api/admin/instructors/{user_id}

Example request:
curl --request POST \
    "http://localhost/api/admin/instructors/1" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=vmqeopfuudtdsufvyvddq"\
    --form "birth_date=2026-06-01T13:47:10"\
    --form "email=kunde.eloisa@example.com"\
    --form "phone=hfqcoynlazghdtqtqxbaj"\
    --form "username=consequatur"\
    --form "identity_number=consequatur"\
    --form "national_number=consequatur"\
    --form "password=O[2UZ5ij-e/dl4m{o,"\
    --form "image=@C:\Users\m\AppData\Local\Temp\php96A5.tmp" \
    --form "file=@C:\Users\m\AppData\Local\Temp\php96B6.tmp" 
const url = new URL(
    "http://localhost/api/admin/instructors/1"
);

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

const body = new FormData();
body.append('name', 'vmqeopfuudtdsufvyvddq');
body.append('birth_date', '2026-06-01T13:47:10');
body.append('email', 'kunde.eloisa@example.com');
body.append('phone', 'hfqcoynlazghdtqtqxbaj');
body.append('username', 'consequatur');
body.append('identity_number', 'consequatur');
body.append('national_number', 'consequatur');
body.append('password', 'O[2UZ5ij-e/dl4m{o,');
body.append('image', document.querySelector('input[name="image"]').files[0]);
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/admin/instructors/{user_id}

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

user_id   integer     

The ID of the user. Example: 1

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

image   file  optional    

Must be an image. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php96A5.tmp

birth_date   string  optional    

Must be a valid date. Example: 2026-06-01T13:47:10

file   file  optional    

Must be a file. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php96B6.tmp

email   string  optional    

Must be a valid email address. Example: kunde.eloisa@example.com

phone   string  optional    

Must not be greater than 255 characters. Example: hfqcoynlazghdtqtqxbaj

username   string     

Example: consequatur

identity_number   string  optional    

Example: consequatur

national_number   string  optional    

Example: consequatur

password   string     

Example: O[2UZ5ij-e/dl4m{o,

POST api/admin/students/import

Example request:
curl --request POST \
    "http://localhost/api/admin/students/import" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "file=@C:\Users\m\AppData\Local\Temp\php96B7.tmp" 
const url = new URL(
    "http://localhost/api/admin/students/import"
);

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

const body = new FormData();
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/admin/students/import

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

file   file     

Must be a file. Must not be greater than 2048 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php96B7.tmp

GET api/admin/students

Example request:
curl --request GET \
    --get "http://localhost/api/admin/students" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/students"
);

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


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "status": false,
    "message": "Unauthorized. Please login first.",
    "data": null
}
 

Request      

GET api/admin/students

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/students

Example request:
curl --request POST \
    "http://localhost/api/admin/students" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=vmqeopfuudtdsufvyvddq"\
    --form "birth_date=2026-06-01T13:47:10"\
    --form "email=kunde.eloisa@example.com"\
    --form "phone=hfqcoynlazghdtqtqxbaj"\
    --form "username=consequatur"\
    --form "identity_number=consequatur"\
    --form "national_number=consequatur"\
    --form "password=O[2UZ5ij-e/dl4m{o,"\
    --form "image=@C:\Users\m\AppData\Local\Temp\php96E8.tmp" \
    --form "file=@C:\Users\m\AppData\Local\Temp\php96E9.tmp" 
const url = new URL(
    "http://localhost/api/admin/students"
);

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

const body = new FormData();
body.append('name', 'vmqeopfuudtdsufvyvddq');
body.append('birth_date', '2026-06-01T13:47:10');
body.append('email', 'kunde.eloisa@example.com');
body.append('phone', 'hfqcoynlazghdtqtqxbaj');
body.append('username', 'consequatur');
body.append('identity_number', 'consequatur');
body.append('national_number', 'consequatur');
body.append('password', 'O[2UZ5ij-e/dl4m{o,');
body.append('image', document.querySelector('input[name="image"]').files[0]);
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/admin/students

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

image   file  optional    

Must be an image. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php96E8.tmp

birth_date   string  optional    

Must be a valid date. Example: 2026-06-01T13:47:10

file   file  optional    

Must be a file. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php96E9.tmp

email   string  optional    

Must be a valid email address. Example: kunde.eloisa@example.com

phone   string  optional    

Must not be greater than 255 characters. Example: hfqcoynlazghdtqtqxbaj

username   string     

Example: consequatur

identity_number   string  optional    

Example: consequatur

national_number   string  optional    

Example: consequatur

password   string     

Example: O[2UZ5ij-e/dl4m{o,

POST api/admin/students/{user_id}

Example request:
curl --request POST \
    "http://localhost/api/admin/students/1" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=vmqeopfuudtdsufvyvddq"\
    --form "birth_date=2026-06-01T13:47:10"\
    --form "email=kunde.eloisa@example.com"\
    --form "phone=hfqcoynlazghdtqtqxbaj"\
    --form "username=consequatur"\
    --form "identity_number=consequatur"\
    --form "national_number=consequatur"\
    --form "password=O[2UZ5ij-e/dl4m{o,"\
    --form "image=@C:\Users\m\AppData\Local\Temp\php96F9.tmp" \
    --form "file=@C:\Users\m\AppData\Local\Temp\php96FA.tmp" 
const url = new URL(
    "http://localhost/api/admin/students/1"
);

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

const body = new FormData();
body.append('name', 'vmqeopfuudtdsufvyvddq');
body.append('birth_date', '2026-06-01T13:47:10');
body.append('email', 'kunde.eloisa@example.com');
body.append('phone', 'hfqcoynlazghdtqtqxbaj');
body.append('username', 'consequatur');
body.append('identity_number', 'consequatur');
body.append('national_number', 'consequatur');
body.append('password', 'O[2UZ5ij-e/dl4m{o,');
body.append('image', document.querySelector('input[name="image"]').files[0]);
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/admin/students/{user_id}

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

user_id   integer     

The ID of the user. Example: 1

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

image   file  optional    

Must be an image. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php96F9.tmp

birth_date   string  optional    

Must be a valid date. Example: 2026-06-01T13:47:10

file   file  optional    

Must be a file. Must not be greater than 1024 kilobytes. Example: C:\Users\m\AppData\Local\Temp\php96FA.tmp

email   string  optional    

Must be a valid email address. Example: kunde.eloisa@example.com

phone   string  optional    

Must not be greater than 255 characters. Example: hfqcoynlazghdtqtqxbaj

username   string     

Example: consequatur

identity_number   string  optional    

Example: consequatur

national_number   string  optional    

Example: consequatur

password   string     

Example: O[2UZ5ij-e/dl4m{o,

POST api/admin/users/{user_id}/toggle-activate

Example request:
curl --request POST \
    "http://localhost/api/admin/users/1/toggle-activate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/users/1/toggle-activate"
);

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


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/admin/users/{user_id}/toggle-activate

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

user_id   integer     

The ID of the user. Example: 1