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

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

You can retrieve your token by visiting your dashboard and clicking Generate API token.

Authentication

APIs for User authentication

Authenticate user

Example request:
curl --request POST \
    "http://localhost/api/auth/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"username\": \"architecto\",
    \"password\": \"|]|{+-\",
    \"device_name\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/auth/login"
);

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

let body = {
    "username": "architecto",
    "password": "|]|{+-",
    "device_name": "architecto"
};

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

Request      

POST api/auth/login

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

username   string  optional  

Example user@example.com Example: architecto

password   string  optional  

Example. password123 Example: |]|{+-

device_name   string  optional  

Example. Mobile Example: architecto

Invalidate user tokens

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

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

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

Request      

POST api/auth/logout

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/auth/verify-email/{id}/{hash}

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

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

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

Example response (401):

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

{
    "message": "Invalid token: Token is null"
}
 

Request      

GET api/auth/verify-email/{id}/{hash}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the verify email. Example: architecto

hash   string   

Example: architecto

POST api/auth/email-verification-notification

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

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

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

Request      

POST api/auth/email-verification-notification

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Confirm password

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/auth/confirm-password" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"password\": \"|]|{+-\"
}"
const url = new URL(
    "http://localhost/api/auth/confirm-password"
);

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

let body = {
    "password": "|]|{+-"
};

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

Request      

POST api/auth/confirm-password

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

password   string  optional  

Example: |]|{+-

Register new student

Example request:
curl --request POST \
    "http://localhost/api/signup/student" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"username\": \"architecto\",
    \"avatar\": \"architecto\",
    \"firstname\": \"architecto\",
    \"lastname\": \"architecto\",
    \"email\": \"gbailey@example.net\",
    \"phone\": \"architecto\",
    \"country\": \"architecto\",
    \"password\": \"|]|{+-\",
    \"plan\": \"architecto\",
    \"password_confirmation\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/signup/student"
);

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

let body = {
    "username": "architecto",
    "avatar": "architecto",
    "firstname": "architecto",
    "lastname": "architecto",
    "email": "gbailey@example.net",
    "phone": "architecto",
    "country": "architecto",
    "password": "|]|{+-",
    "plan": "architecto",
    "password_confirmation": "architecto"
};

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

Request      

POST api/signup/student

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

username   string  optional  

Example: architecto

avatar   image  optional  

Example: architecto

firstname   string  optional  

Example: architecto

lastname   string  optional  

Example: architecto

email   string  optional  

Example: gbailey@example.net

phone   string  optional  

Example: architecto

country   string  optional  

Example: architecto

password   string  optional  

Example: |]|{+-

plan   string  optional  

Example: architecto

password_confirmation   string  optional  

Example: architecto

Register new instructor

Example request:
curl --request POST \
    "http://localhost/api/signup/instructor" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "username=architecto"\
    --form "avatar=architecto"\
    --form "firstname=architecto"\
    --form "lastname=architecto"\
    --form "email=gbailey@example.net"\
    --form "phone=architecto"\
    --form "country=architecto"\
    --form "password=|]|{+-"\
    --form "national_id=architecto"\
    --form "education_level=architecto"\
    --form "occupation=architecto"\
    --form "expertise=architecto"\
    --form "password_confirmation=architecto"\
    --form "resume=@C:\Users\Augustine\AppData\Local\Temp\php80E.tmp" 
const url = new URL(
    "http://localhost/api/signup/instructor"
);

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

const body = new FormData();
body.append('username', 'architecto');
body.append('avatar', 'architecto');
body.append('firstname', 'architecto');
body.append('lastname', 'architecto');
body.append('email', 'gbailey@example.net');
body.append('phone', 'architecto');
body.append('country', 'architecto');
body.append('password', '|]|{+-');
body.append('national_id', 'architecto');
body.append('education_level', 'architecto');
body.append('occupation', 'architecto');
body.append('expertise', 'architecto');
body.append('password_confirmation', 'architecto');
body.append('resume', document.querySelector('input[name="resume"]').files[0]);

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

Request      

POST api/signup/instructor

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

username   string  optional  

Example: architecto

avatar   image  optional  

Example: architecto

firstname   string  optional  

Example: architecto

lastname   string  optional  

Example: architecto

email   string  optional  

Example: gbailey@example.net

phone   string  optional  

Example: architecto

country   string  optional  

Example: architecto

password   string  optional  

Example: |]|{+-

national_id   string  optional  

Example: architecto

education_level   string  optional  

Example: architecto

occupation   string  optional  

Example: architecto

expertise   string  optional  

Example: architecto

resume   file  optional  

Example: C:\Users\Augustine\AppData\Local\Temp\php80E.tmp

password_confirmation   string  optional  

Example: architecto

B2B institution management

APIs for managing institutions

Display a listing of the institutions.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/institution

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Create a new b2b institution.

Example request:
curl --request POST \
    "http://localhost/api/institution" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"instructor_id\": \"architecto\",
    \"name\": \"architecto\",
    \"type\": \"educational\"
}"
const url = new URL(
    "http://localhost/api/institution"
);

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

let body = {
    "instructor_id": "architecto",
    "name": "architecto",
    "type": "educational"
};

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

Request      

POST api/institution

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

instructor_id   string   

'code',. The user_id of an existing record in the instructors table. Example: architecto

name   string   

Example: architecto

type   string   

Example: educational

Must be one of:
  • coporate
  • educational

Display the specified institution.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/institution/{institution_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

institution_id   integer   

The ID of the institution. Example: 16

Update the specified institution in storage.

Example request:
curl --request PUT \
    "http://localhost/api/institution/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"architecto\",
    \"type\": \"educational\"
}"
const url = new URL(
    "http://localhost/api/institution/16"
);

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

let body = {
    "name": "architecto",
    "type": "educational"
};

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

Request      

PUT api/institution/{institution_id}

PATCH api/institution/{institution_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

institution_id   integer   

The ID of the institution. Example: 16

Body Parameters

name   string   

'code' => '',. Example: architecto

type   string   

Example: educational

Must be one of:
  • coporate
  • educational

Remove the specified institution from storage.

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

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

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

Request      

DELETE api/institution/{institution_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

institution_id   integer   

The ID of the institution. Example: 16

Add user to instution student list

Example request:
curl --request POST \
    "http://localhost/api/institution/add-member" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"user_id\": \"architecto\",
    \"institution_id\": \"architecto\",
    \"code\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/institution/add-member"
);

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

let body = {
    "user_id": "architecto",
    "institution_id": "architecto",
    "code": "architecto"
};

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

Request      

POST api/institution/add-member

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

user_id   string   

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

institution_id   string   

The id of an existing record in the b2b_institutions table. Example: architecto

code   string   

The code of an existing record in the b2b_institutions table. Example: architecto

Community Post Report management

Api for managing community forum posts violation reports

report community post

Example request:
curl --request POST \
    "http://localhost/api/student/community/report-post" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"reported_by\": \"architecto\",
    \"post_id\": \"architecto\",
    \"type\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/student/community/report-post"
);

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

let body = {
    "reported_by": "architecto",
    "post_id": "architecto",
    "type": "architecto"
};

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

Request      

POST api/student/community/report-post

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

reported_by   string   

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

post_id   string   

The id of an existing record in the community_posts table. Example: architecto

type   string   

Example: architecto

report community post comment

Example request:
curl --request POST \
    "http://localhost/api/student/community/report-comment" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"reported_by\": \"architecto\",
    \"comment_id\": \"architecto\",
    \"type\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/student/community/report-comment"
);

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

let body = {
    "reported_by": "architecto",
    "comment_id": "architecto",
    "type": "architecto"
};

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

Request      

POST api/student/community/report-comment

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

reported_by   string   

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

comment_id   string   

The id of an existing record in the community_posts table. Example: architecto

type   string   

Example: architecto

report community reply post

Example request:
curl --request POST \
    "http://localhost/api/student/community/report-reply" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"reported_by\": \"architecto\",
    \"reply_id\": \"architecto\",
    \"type\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/student/community/report-reply"
);

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

let body = {
    "reported_by": "architecto",
    "reply_id": "architecto",
    "type": "architecto"
};

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

Request      

POST api/student/community/report-reply

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

reported_by   string   

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

reply_id   string   

The id of an existing record in the community_posts table. Example: architecto

type   string   

Example: architecto

report community post

Example request:
curl --request POST \
    "http://localhost/api/instructor/community/report-post" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"reported_by\": \"architecto\",
    \"post_id\": \"architecto\",
    \"type\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/instructor/community/report-post"
);

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

let body = {
    "reported_by": "architecto",
    "post_id": "architecto",
    "type": "architecto"
};

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

Request      

POST api/instructor/community/report-post

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

reported_by   string   

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

post_id   string   

The id of an existing record in the community_posts table. Example: architecto

type   string   

Example: architecto

report community post comment

Example request:
curl --request POST \
    "http://localhost/api/instructor/community/report-comment" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"reported_by\": \"architecto\",
    \"comment_id\": \"architecto\",
    \"type\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/instructor/community/report-comment"
);

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

let body = {
    "reported_by": "architecto",
    "comment_id": "architecto",
    "type": "architecto"
};

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

Request      

POST api/instructor/community/report-comment

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

reported_by   string   

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

comment_id   string   

The id of an existing record in the community_posts table. Example: architecto

type   string   

Example: architecto

report community reply post

Example request:
curl --request POST \
    "http://localhost/api/instructor/community/report-reply" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"reported_by\": \"architecto\",
    \"reply_id\": \"architecto\",
    \"type\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/instructor/community/report-reply"
);

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

let body = {
    "reported_by": "architecto",
    "reply_id": "architecto",
    "type": "architecto"
};

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

Request      

POST api/instructor/community/report-reply

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

reported_by   string   

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

reply_id   string   

The id of an existing record in the community_posts table. Example: architecto

type   string   

Example: architecto

Community management

APIs for managing community content

fetch course community forums for specified student

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Student] architecto"
}
 

Request      

GET api/student/community/fetch-forums/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

fetch Posts for specified course

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

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: 35
access-control-allow-origin: *
 

[]
 

Request      

GET api/student/community/fetch-posts/{course_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_id   string   

The ID of the course. Example: architecto

Fetch course community forum activity feed

Example request:
curl --request GET \
    --get "http://localhost/api/student/community/fetch-activity-feed/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/community/fetch-activity-feed/architecto"
);

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

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

Example response (404):

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

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

Request      

GET api/student/community/fetch-activity-feed/{course_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_slug   string   

The slug of the course. Example: architecto

fetch comments/responses for specified post

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

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: 33
access-control-allow-origin: *
 

[]
 

Request      

GET api/student/community/fetch-responses/{post_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

post_id   string   

The ID of the post. Example: architecto

fetch Replies for specified comment/response

Example request:
curl --request GET \
    --get "http://localhost/api/student/community/fetch-response-replies/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/community/fetch-response-replies/architecto"
);

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: 32
access-control-allow-origin: *
 

[]
 

Request      

GET api/student/community/fetch-response-replies/{response_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

response_id   string   

The ID of the response. Example: architecto

create community post

Example request:
curl --request POST \
    "http://localhost/api/student/community/create-post" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"student_id\": \"architecto\",
    \"course_id\": \"architecto\",
    \"content\": \"architecto\",
    \"image\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/student/community/create-post"
);

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

let body = {
    "student_id": "architecto",
    "course_id": "architecto",
    "content": "architecto",
    "image": "architecto"
};

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

Request      

POST api/student/community/create-post

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

student_id   string   

The user_id of an existing record in the students table. Example: architecto

course_id   string   

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

content   string   

Example: architecto

image   string   

Example: architecto

create Post in specified course Forum

Example request:
curl --request POST \
    "http://localhost/api/student/community/forum/architecto/create-post" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"student_id\": \"architecto\",
    \"content\": \"architecto\",
    \"image\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/student/community/forum/architecto/create-post"
);

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

let body = {
    "student_id": "architecto",
    "content": "architecto",
    "image": "architecto"
};

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

Request      

POST api/student/community/forum/{course_slug}/create-post

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_slug   string   

The slug of the course. Example: architecto

Body Parameters

student_id   string   

The user_id of an existing record in the students table. Example: architecto

content   string   

'course_id' => ['required','exists:courses,id'],. Example: architecto

image   string   

Example: architecto

Create a comment/response to a post

Example request:
curl --request POST \
    "http://localhost/api/student/community/create-response" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"post_id\": \"architecto\",
    \"user_id\": \"architecto\",
    \"course_id\": \"architecto\",
    \"comment\": \"architecto\",
    \"image\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/student/community/create-response"
);

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

let body = {
    "post_id": "architecto",
    "user_id": "architecto",
    "course_id": "architecto",
    "comment": "architecto",
    "image": "architecto"
};

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

Request      

POST api/student/community/create-response

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

post_id   string   

The id of an existing record in the community_posts table. Example: architecto

user_id   string   

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

course_id   string   

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

comment   string   

Example: architecto

image   string   

Example: architecto

Vote for post comment/response

Example request:
curl --request POST \
    "http://localhost/api/student/community/vote-response" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"response_id\": \"architecto\",
    \"user_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/student/community/vote-response"
);

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

let body = {
    "response_id": "architecto",
    "user_id": "architecto"
};

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

Request      

POST api/student/community/vote-response

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

response_id   string   

The id of an existing record in the community_post_comments table. Example: architecto

user_id   string   

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

Create a comment/reply to a post comment/response

Example request:
curl --request POST \
    "http://localhost/api/student/community/create-response-reply" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"comment_id\": \"architecto\",
    \"user_id\": \"architecto\",
    \"reply\": \"architecto\",
    \"image\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/student/community/create-response-reply"
);

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

let body = {
    "comment_id": "architecto",
    "user_id": "architecto",
    "reply": "architecto",
    "image": "architecto"
};

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

Request      

POST api/student/community/create-response-reply

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

comment_id   string   

The id of an existing record in the community_post_comments table. Example: architecto

user_id   string   

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

reply   string   

Example: architecto

image   string   

Example: architecto

Vote for post comment/response

Example request:
curl --request POST \
    "http://localhost/api/student/community/vote-response-reply" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"reply_id\": \"architecto\",
    \"user_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/student/community/vote-response-reply"
);

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

let body = {
    "reply_id": "architecto",
    "user_id": "architecto"
};

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

Request      

POST api/student/community/vote-response-reply

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

reply_id   string   

The id of an existing record in the community_post_comments table. Example: architecto

user_id   string   

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

Delete community Post

Example request:
curl --request DELETE \
    "http://localhost/api/student/community/delete-post/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/community/delete-post/16"
);

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

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

Request      

DELETE api/student/community/delete-post/{post_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

post_id   integer   

The ID of the post. Example: 16

Delete specified comment/response

Example request:
curl --request DELETE \
    "http://localhost/api/student/community/delete-response/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/community/delete-response/16"
);

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

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

Request      

DELETE api/student/community/delete-response/{response_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

response_id   integer   

The ID of the response. Example: 16

Delete specified comment/response reply

Example request:
curl --request DELETE \
    "http://localhost/api/student/community/delete-response-reply/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/community/delete-response-reply/16"
);

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

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

Request      

DELETE api/student/community/delete-response-reply/{reply_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

reply_id   integer   

The ID of the reply. Example: 16

Retrieve post using slug

Example request:
curl --request GET \
    --get "http://localhost/api/student/community/fetch-post-details/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/community/fetch-post-details/architecto"
);

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\CommunityPost] architecto"
}
 

Request      

GET api/student/community/fetch-post-details/{post_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

post_slug   string   

The slug of the post. Example: architecto

Fetch course community forum activity feed

Example request:
curl --request GET \
    --get "http://localhost/api/instructor/community/fetch-activity-feed/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/instructor/community/fetch-activity-feed/architecto"
);

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

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

Example response (404):

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

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

Request      

GET api/instructor/community/fetch-activity-feed/{course_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_slug   string   

The slug of the course. Example: architecto

Create a comment/response to a post

Example request:
curl --request POST \
    "http://localhost/api/instructor/community/create-response" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"post_id\": \"architecto\",
    \"user_id\": \"architecto\",
    \"course_id\": \"architecto\",
    \"comment\": \"architecto\",
    \"image\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/instructor/community/create-response"
);

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

let body = {
    "post_id": "architecto",
    "user_id": "architecto",
    "course_id": "architecto",
    "comment": "architecto",
    "image": "architecto"
};

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

Request      

POST api/instructor/community/create-response

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

post_id   string   

The id of an existing record in the community_posts table. Example: architecto

user_id   string   

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

course_id   string   

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

comment   string   

Example: architecto

image   string   

Example: architecto

Vote for post comment/response

Example request:
curl --request POST \
    "http://localhost/api/instructor/community/vote-response" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"response_id\": \"architecto\",
    \"user_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/instructor/community/vote-response"
);

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

let body = {
    "response_id": "architecto",
    "user_id": "architecto"
};

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

Request      

POST api/instructor/community/vote-response

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

response_id   string   

The id of an existing record in the community_post_comments table. Example: architecto

user_id   string   

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

Create a comment/reply to a post comment/response

Example request:
curl --request POST \
    "http://localhost/api/instructor/community/create-response-reply" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"comment_id\": \"architecto\",
    \"user_id\": \"architecto\",
    \"reply\": \"architecto\",
    \"image\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/instructor/community/create-response-reply"
);

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

let body = {
    "comment_id": "architecto",
    "user_id": "architecto",
    "reply": "architecto",
    "image": "architecto"
};

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

Request      

POST api/instructor/community/create-response-reply

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

comment_id   string   

The id of an existing record in the community_post_comments table. Example: architecto

user_id   string   

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

reply   string   

Example: architecto

image   string   

Example: architecto

Vote for post comment/response

Example request:
curl --request POST \
    "http://localhost/api/instructor/community/vote-response-reply" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"reply_id\": \"architecto\",
    \"user_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/instructor/community/vote-response-reply"
);

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

let body = {
    "reply_id": "architecto",
    "user_id": "architecto"
};

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

Request      

POST api/instructor/community/vote-response-reply

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

reply_id   string   

The id of an existing record in the community_post_comments table. Example: architecto

user_id   string   

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

Delete community Post

Example request:
curl --request DELETE \
    "http://localhost/api/instructor/community/delete-post/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/instructor/community/delete-post/16"
);

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

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

Request      

DELETE api/instructor/community/delete-post/{post_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

post_id   integer   

The ID of the post. Example: 16

Delete specified comment/response

Example request:
curl --request DELETE \
    "http://localhost/api/instructor/community/delete-response/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/instructor/community/delete-response/16"
);

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

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

Request      

DELETE api/instructor/community/delete-response/{response_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

response_id   integer   

The ID of the response. Example: 16

Delete specified comment/response reply

Example request:
curl --request DELETE \
    "http://localhost/api/instructor/community/delete-response-reply/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/instructor/community/delete-response-reply/16"
);

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

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

Request      

DELETE api/instructor/community/delete-response-reply/{reply_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

reply_id   integer   

The ID of the reply. Example: 16

Retrieve post using slug

Example request:
curl --request GET \
    --get "http://localhost/api/instructor/community/fetch-post-details/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/instructor/community/fetch-post-details/architecto"
);

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\CommunityPost] architecto"
}
 

Request      

GET api/instructor/community/fetch-post-details/{post_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

post_slug   string   

The slug of the post. Example: architecto

fetch comments/responses for specified post

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

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: 2
access-control-allow-origin: *
 

[]
 

Request      

GET api/instructor/community/fetch-responses/{post_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

post_id   string   

The ID of the post. Example: architecto

Course Basket management

APIs for managing course basket

add Item to student course basket

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

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

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

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

Request      

POST api/student/basket/add-item/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Body Parameters

course_id   string   

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

POST api/student/basket/update-item-subscription/{item_id}

Example request:
curl --request POST \
    "http://localhost/api/student/basket/update-item-subscription/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_subscription\": true,
    \"price\": 4326.41688,
    \"plan_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/student/basket/update-item-subscription/16"
);

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

let body = {
    "is_subscription": true,
    "price": 4326.41688,
    "plan_id": "architecto"
};

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

Request      

POST api/student/basket/update-item-subscription/{item_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

item_id   integer   

The ID of the item. Example: 16

Body Parameters

is_subscription   boolean   

'item_id',. Example: true

price   number   

Example: 4326.41688

plan_id   string   

The id of an existing record in the subscription_plans table. Example: architecto

fetch number of Items in course basket

Example request:
curl --request GET \
    --get "http://localhost/api/student/basket/fetch-items-number/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/basket/fetch-items-number/architecto"
);

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Student] architecto"
}
 

Request      

GET api/student/basket/fetch-items-number/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Fetch student course basket content

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Student] architecto"
}
 

Request      

GET api/student/basket/fetch-items/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Delete Item from student course basket

Example request:
curl --request DELETE \
    "http://localhost/api/student/basket/16/delete-item/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/basket/16/delete-item/16"
);

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

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

Request      

DELETE api/student/basket/{basket_id}/delete-item/{item_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

basket_id   integer   

The ID of the basket. Example: 16

item_id   integer   

The ID of the item. Example: 16

Course curriculum lesson management

APIs for managing course curriculum lessons

POST api/instructor/courses/lessons/{course_id}

Example request:
curl --request POST \
    "http://localhost/api/instructor/courses/lessons/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "type=lesson"\
    --form "order=16"\
    --form "name=n"\
    --form "description=Eius et animi quos velit et."\
    --form "duration=architecto"\
    --form "lesson=@C:\Users\Augustine\AppData\Local\Temp\php241.tmp" \
    --form "thumbnail=@C:\Users\Augustine\AppData\Local\Temp\php242.tmp" 
const url = new URL(
    "http://localhost/api/instructor/courses/lessons/16"
);

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

const body = new FormData();
body.append('type', 'lesson');
body.append('order', '16');
body.append('name', 'n');
body.append('description', 'Eius et animi quos velit et.');
body.append('duration', 'architecto');
body.append('lesson', document.querySelector('input[name="lesson"]').files[0]);
body.append('thumbnail', document.querySelector('input[name="thumbnail"]').files[0]);

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

Request      

POST api/instructor/courses/lessons/{course_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

course_id   integer   

The ID of the course. Example: 16

Body Parameters

type   string   

Example: lesson

Must be one of:
  • lesson
order   number   

Must be at least 1. Example: 16

name   string   

Must not be greater than 255 characters. Example: n

description   string   

Example: Eius et animi quos velit et.

duration   string   

Example: architecto

lesson   file   

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php241.tmp

thumbnail   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php242.tmp

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/instructor/courses/lessons/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=b"\
    --form "description=Eius et animi quos velit et."\
    --form "duration=architecto"\
    --form "lesson=@C:\Users\Augustine\AppData\Local\Temp\php243.tmp" \
    --form "thumbnail=@C:\Users\Augustine\AppData\Local\Temp\php244.tmp" 
const url = new URL(
    "http://localhost/api/instructor/courses/lessons/16"
);

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

const body = new FormData();
body.append('name', 'b');
body.append('description', 'Eius et animi quos velit et.');
body.append('duration', 'architecto');
body.append('lesson', document.querySelector('input[name="lesson"]').files[0]);
body.append('thumbnail', document.querySelector('input[name="thumbnail"]').files[0]);

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

Request      

PUT api/instructor/courses/lessons/{lesson_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

lesson_id   integer   

The ID of the lesson. Example: 16

Body Parameters

name   string   

'type' => ['required','in:lesson'], 'order' => ['required','numeric','min:1'],. Must not be greater than 255 characters. Example: b

description   string   

Example: Eius et animi quos velit et.

duration   string   

Example: architecto

lesson   file   

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php243.tmp

thumbnail   file  optional  

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php244.tmp

Update the specified resource in storage.

Example request:
curl --request PATCH \
    "http://localhost/api/instructor/courses/lessons/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=b"\
    --form "description=Eius et animi quos velit et."\
    --form "duration=architecto"\
    --form "lesson=@C:\Users\Augustine\AppData\Local\Temp\php255.tmp" \
    --form "thumbnail=@C:\Users\Augustine\AppData\Local\Temp\php256.tmp" 
const url = new URL(
    "http://localhost/api/instructor/courses/lessons/16"
);

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

const body = new FormData();
body.append('name', 'b');
body.append('description', 'Eius et animi quos velit et.');
body.append('duration', 'architecto');
body.append('lesson', document.querySelector('input[name="lesson"]').files[0]);
body.append('thumbnail', document.querySelector('input[name="thumbnail"]').files[0]);

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

Request      

PATCH api/instructor/courses/lessons/{lesson_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

lesson_id   integer   

The ID of the lesson. Example: 16

Body Parameters

name   string   

'type' => ['required','in:lesson'], 'order' => ['required','numeric','min:1'],. Must not be greater than 255 characters. Example: b

description   string   

Example: Eius et animi quos velit et.

duration   string   

Example: architecto

lesson   file   

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php255.tmp

thumbnail   file  optional  

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php256.tmp

Remove the specified resource from storage.

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

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

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

Request      

DELETE api/instructor/courses/lessons/{lesson_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

lesson_id   integer   

The ID of the lesson. Example: 16

Course curriculum sessions/live class management

APIs for managing curriculum live class

Register/book live class/session

Example request:
curl --request POST \
    "http://localhost/api/student/courses/session/book" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"class_id\": \"architecto\",
    \"student_id\": \"architecto\",
    \"enrollment_email\": \"zbailey@example.net\"
}"
const url = new URL(
    "http://localhost/api/student/courses/session/book"
);

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

let body = {
    "class_id": "architecto",
    "student_id": "architecto",
    "enrollment_email": "zbailey@example.net"
};

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

Request      

POST api/student/courses/session/book

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

class_id   string   

The id of an existing record in the curriculum_live_class table. Example: architecto

student_id   string   

The user_id of an existing record in the students table. Example: architecto

enrollment_email   string   

Must be a valid email address. Example: zbailey@example.net

Fetch active/current live class/session

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

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: 49
access-control-allow-origin: *
 

[]
 

Request      

GET api/student/courses/session/available

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Fetch live class/session for specified instrutor

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Instructor] architecto"
}
 

Request      

GET api/instructor/sessions/{instructor_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

instructor_user_id   string   

The ID of the instructor user. Example: architecto

Create a new session/live class for specified course

Example request:
curl --request POST \
    "http://localhost/api/instructor/sessions/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=b"\
    --form "session_category=n"\
    --form "date=2051-09-15"\
    --form "time=12:15"\
    --form "link=architecto"\
    --form "class_detials=architecto"\
    --form "poster=@C:\Users\Augustine\AppData\Local\Temp\php1AD.tmp" 
const url = new URL(
    "http://localhost/api/instructor/sessions/16"
);

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

const body = new FormData();
body.append('title', 'b');
body.append('session_category', 'n');
body.append('date', '2051-09-15');
body.append('time', '12:15');
body.append('link', 'architecto');
body.append('class_detials', 'architecto');
body.append('poster', document.querySelector('input[name="poster"]').files[0]);

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

Request      

POST api/instructor/sessions/{course_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

course_id   integer   

The ID of the course. Example: 16

Body Parameters

poster   file  optional  

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php1AD.tmp

title   string   

Must not be greater than 255 characters. Example: b

session_category   string   

Must not be greater than 255 characters. Example: n

date   string   

Must be a valid date in the format Y-m-d. Must be a date after or equal to 2025-08-22 12:15:30. Example: 2051-09-15

time   string   

Must be a valid date in the format H:i. Example: 12:15

link   string   

Example: architecto

class_detials   string  optional  

Example: architecto

Update the specified session/live class.

Example request:
curl --request PUT \
    "http://localhost/api/instructor/sessions/update/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=b"\
    --form "session_category=n"\
    --form "date=2051-09-15"\
    --form "time=12:15"\
    --form "link=architecto"\
    --form "class_detials=architecto"\
    --form "poster=@C:\Users\Augustine\AppData\Local\Temp\php1BD.tmp" 
const url = new URL(
    "http://localhost/api/instructor/sessions/update/16"
);

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

const body = new FormData();
body.append('title', 'b');
body.append('session_category', 'n');
body.append('date', '2051-09-15');
body.append('time', '12:15');
body.append('link', 'architecto');
body.append('class_detials', 'architecto');
body.append('poster', document.querySelector('input[name="poster"]').files[0]);

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

Request      

PUT api/instructor/sessions/update/{session_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

session_id   integer   

The ID of the session. Example: 16

Body Parameters

poster   file  optional  

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php1BD.tmp

title   string   

Must not be greater than 255 characters. Example: b

session_category   string   

Must not be greater than 255 characters. Example: n

date   string   

Must be a valid date in the format Y-m-d. Must be a date after or equal to 2025-08-22 12:15:30. Example: 2051-09-15

time   string   

Must be a valid date in the format H:i. Example: 12:15

link   string   

Example: architecto

class_detials   string  optional  

Example: architecto

Delete the specified session/live class from storage.

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

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

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

Request      

DELETE api/instructor/sessions/delete/{session_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

session_id   integer   

The ID of the session. Example: 16

Fetch class student enrollment list

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\LiveSession] architecto"
}
 

Request      

GET api/instructor/sessions/registered-students/{session_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

session_slug   string   

The slug of the session. Example: architecto

Display a listing of sessions/live classess.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/sessions

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Create a new session/live class.

Example request:
curl --request POST \
    "http://localhost/api/sessions" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=b"\
    --form "session_category=n"\
    --form "date=2051-09-15"\
    --form "time=12:15"\
    --form "link=architecto"\
    --form "class_detials=architecto"\
    --form "poster=@C:\Users\Augustine\AppData\Local\Temp\php5F8.tmp" 
const url = new URL(
    "http://localhost/api/sessions"
);

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

const body = new FormData();
body.append('title', 'b');
body.append('session_category', 'n');
body.append('date', '2051-09-15');
body.append('time', '12:15');
body.append('link', 'architecto');
body.append('class_detials', 'architecto');
body.append('poster', document.querySelector('input[name="poster"]').files[0]);

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

Request      

POST api/sessions

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

poster   file  optional  

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php5F8.tmp

title   string   

Must not be greater than 255 characters. Example: b

session_category   string   

Must not be greater than 255 characters. Example: n

date   string   

Must be a valid date in the format Y-m-d. Must be a date after or equal to 2025-08-22 12:15:31. Example: 2051-09-15

time   string   

Must be a valid date in the format H:i. Example: 12:15

link   string   

Example: architecto

class_detials   string  optional  

Example: architecto

Display the specified session/live class.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/sessions/{session_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

session_id   integer   

The ID of the session. Example: 16

Update the specified session/live class.

Example request:
curl --request PUT \
    "http://localhost/api/sessions/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=b"\
    --form "session_category=n"\
    --form "date=2051-09-15"\
    --form "time=12:15"\
    --form "link=architecto"\
    --form "class_detials=architecto"\
    --form "poster=@C:\Users\Augustine\AppData\Local\Temp\php609.tmp" 
const url = new URL(
    "http://localhost/api/sessions/16"
);

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

const body = new FormData();
body.append('title', 'b');
body.append('session_category', 'n');
body.append('date', '2051-09-15');
body.append('time', '12:15');
body.append('link', 'architecto');
body.append('class_detials', 'architecto');
body.append('poster', document.querySelector('input[name="poster"]').files[0]);

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

Request      

PUT api/sessions/{session_id}

PATCH api/sessions/{session_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

session_id   integer   

The ID of the session. Example: 16

Body Parameters

poster   file  optional  

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php609.tmp

title   string   

Must not be greater than 255 characters. Example: b

session_category   string   

Must not be greater than 255 characters. Example: n

date   string   

Must be a valid date in the format Y-m-d. Must be a date after or equal to 2025-08-22 12:15:31. Example: 2051-09-15

time   string   

Must be a valid date in the format H:i. Example: 12:15

link   string   

Example: architecto

class_detials   string  optional  

Example: architecto

Delete the specified session/live class from storage.

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

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

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

Request      

DELETE api/sessions/{session_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

session_id   integer   

The ID of the session. Example: 16

Course management

APIs for managing courses

Store a newly created course in storage.

Example request:
curl --request POST \
    "http://localhost/api/instructor/courses" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "category_id=architecto"\
    --form "instructor_id=architecto"\
    --form "name=n"\
    --form "description=Eius et animi quos velit et."\
    --form "level=advanced"\
    --form "duration=v"\
    --form "price=16"\
    --form "allow_subscription=1"\
    --form "number_of_lessons=22"\
    --form "skill[]=architecto"\
    --form "coverimage=@C:\Users\Augustine\AppData\Local\Temp\php1ED.tmp" \
    --form "introvideo=@C:\Users\Augustine\AppData\Local\Temp\php1EE.tmp" 
const url = new URL(
    "http://localhost/api/instructor/courses"
);

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

const body = new FormData();
body.append('category_id', 'architecto');
body.append('instructor_id', 'architecto');
body.append('name', 'n');
body.append('description', 'Eius et animi quos velit et.');
body.append('level', 'advanced');
body.append('duration', 'v');
body.append('price', '16');
body.append('allow_subscription', '1');
body.append('number_of_lessons', '22');
body.append('skill[]', 'architecto');
body.append('coverimage', document.querySelector('input[name="coverimage"]').files[0]);
body.append('introvideo', document.querySelector('input[name="introvideo"]').files[0]);

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

Request      

POST api/instructor/courses

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

category_id   string   

The id of an existing record in the course_categories table. Example: architecto

instructor_id   string   

Example: architecto

name   string   

Must not be greater than 255 characters. Example: n

description   string   

Example: Eius et animi quos velit et.

level   string   

Example: advanced

Must be one of:
  • beginner
  • intermediate
  • advanced
duration   string   

Must not be greater than 30 characters. Example: v

coverimage   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php1ED.tmp

introvideo   file   

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php1EE.tmp

price   number  optional  

Must be at least 1. Example: 16

allow_subscription   boolean  optional  

Example: true

number_of_lessons   number  optional  

Must be at least 1. Example: 22

skills   object  optional  
skill   string[]  optional  

Fetch instructor course created by instructor

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Instructor] architecto"
}
 

Request      

GET api/instructor/courses/all/{instructor_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

instructor_user_id   string   

The ID of the instructor user. Example: architecto

Display the specified resource.

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

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

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

Example response (404):

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

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

Request      

GET api/instructor/courses/{course_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_slug   integer   

The slug of the course. Example: 16

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/instructor/courses/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "category_id=architecto"\
    --form "instructor_id=architecto"\
    --form "name=n"\
    --form "description=Eius et animi quos velit et."\
    --form "level=intermediate"\
    --form "duration=v"\
    --form "price=16"\
    --form "number_of_lessons=22"\
    --form "allow_subscription="\
    --form "skill[]=architecto"\
    --form "coverimage=@C:\Users\Augustine\AppData\Local\Temp\php21E.tmp" \
    --form "introvideo=@C:\Users\Augustine\AppData\Local\Temp\php21F.tmp" 
const url = new URL(
    "http://localhost/api/instructor/courses/16"
);

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

const body = new FormData();
body.append('category_id', 'architecto');
body.append('instructor_id', 'architecto');
body.append('name', 'n');
body.append('description', 'Eius et animi quos velit et.');
body.append('level', 'intermediate');
body.append('duration', 'v');
body.append('price', '16');
body.append('number_of_lessons', '22');
body.append('allow_subscription', '');
body.append('skill[]', 'architecto');
body.append('coverimage', document.querySelector('input[name="coverimage"]').files[0]);
body.append('introvideo', document.querySelector('input[name="introvideo"]').files[0]);

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

Request      

PUT api/instructor/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: 16

Body Parameters

category_id   string   

The id of an existing record in the course_categories table. Example: architecto

instructor_id   string   

Example: architecto

name   string   

Must not be greater than 255 characters. Example: n

description   string   

Example: Eius et animi quos velit et.

level   string   

Example: intermediate

Must be one of:
  • beginner
  • intermediate
  • advanced
duration   string  optional  

Must not be greater than 30 characters. Example: v

coverimage   file  optional  

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php21E.tmp

introvideo   file  optional  

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php21F.tmp

price   number  optional  

Must be at least 1. Example: 16

number_of_lessons   number  optional  

Must be at least 1. Example: 22

allow_subscription   boolean  optional  

Example: false

skills   object  optional  
skill   string[]  optional  

Update the specified resource in storage.

Example request:
curl --request PATCH \
    "http://localhost/api/instructor/courses/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "category_id=architecto"\
    --form "instructor_id=architecto"\
    --form "name=n"\
    --form "description=Eius et animi quos velit et."\
    --form "level=intermediate"\
    --form "duration=v"\
    --form "price=16"\
    --form "number_of_lessons=22"\
    --form "allow_subscription=1"\
    --form "skill[]=architecto"\
    --form "coverimage=@C:\Users\Augustine\AppData\Local\Temp\php220.tmp" \
    --form "introvideo=@C:\Users\Augustine\AppData\Local\Temp\php231.tmp" 
const url = new URL(
    "http://localhost/api/instructor/courses/16"
);

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

const body = new FormData();
body.append('category_id', 'architecto');
body.append('instructor_id', 'architecto');
body.append('name', 'n');
body.append('description', 'Eius et animi quos velit et.');
body.append('level', 'intermediate');
body.append('duration', 'v');
body.append('price', '16');
body.append('number_of_lessons', '22');
body.append('allow_subscription', '1');
body.append('skill[]', 'architecto');
body.append('coverimage', document.querySelector('input[name="coverimage"]').files[0]);
body.append('introvideo', document.querySelector('input[name="introvideo"]').files[0]);

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

Request      

PATCH api/instructor/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: 16

Body Parameters

category_id   string   

The id of an existing record in the course_categories table. Example: architecto

instructor_id   string   

Example: architecto

name   string   

Must not be greater than 255 characters. Example: n

description   string   

Example: Eius et animi quos velit et.

level   string   

Example: intermediate

Must be one of:
  • beginner
  • intermediate
  • advanced
duration   string  optional  

Must not be greater than 30 characters. Example: v

coverimage   file  optional  

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php220.tmp

introvideo   file  optional  

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php231.tmp

price   number  optional  

Must be at least 1. Example: 16

number_of_lessons   number  optional  

Must be at least 1. Example: 22

allow_subscription   boolean  optional  

Example: true

skills   object  optional  
skill   string[]  optional  

Remove the specified resource from storage.

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

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

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

Request      

DELETE api/instructor/courses/{course_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_id   integer   

The ID of the course. Example: 16

Get enrolled student for course

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

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

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

Example response (404):

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

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

Request      

GET api/instructor/courses/enrolled-student/{course_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_slug   string   

The slug of the course. Example: architecto

POST api/instructor/courses/reorder-curriculum

Example request:
curl --request POST \
    "http://localhost/api/instructor/courses/reorder-curriculum" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"curriculum\": [
        {
            \"course_id\": \"architecto\",
            \"id\": \"architecto\",
            \"type\": \"test\",
            \"order\": \"architecto\"
        }
    ]
}"
const url = new URL(
    "http://localhost/api/instructor/courses/reorder-curriculum"
);

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

let body = {
    "curriculum": [
        {
            "course_id": "architecto",
            "id": "architecto",
            "type": "test",
            "order": "architecto"
        }
    ]
};

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

Request      

POST api/instructor/courses/reorder-curriculum

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

curriculum   object[]  optional  
course_id   string   

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

id   string   

The id of an existing record in the course_curricula table. Example: architecto

type   string   

Example: test

Must be one of:
  • lesson
  • live
  • test
order   string   

Example: architecto

Fetch course performance data

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

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

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

Example response (404):

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

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

Request      

GET api/instructor/courses/performance/{course_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_id   integer   

The ID of the course. Example: 16

Generate studentcertificate

Example request:
curl --request POST \
    "http://localhost/api/instructor/courses/certificate/generate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"course_slug\": \"architecto\",
    \"student_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/instructor/courses/certificate/generate"
);

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

let body = {
    "course_slug": "architecto",
    "student_id": "architecto"
};

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

Request      

POST api/instructor/courses/certificate/generate

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

course_slug   string   

The slug of an existing record in the courses table. Example: architecto

student_id   string   

The user_id of an existing record in the students table. Example: architecto

GET api/free-your-code/courses

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/free-your-code/courses

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Display a listing of the course categories.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/course/category

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Store a newly created course category in storage.

Example request:
curl --request POST \
    "http://localhost/api/course/category" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=architecto"\
    --form "image=@C:\Users\Augustine\AppData\Local\Temp\php573.tmp" \
    --form "icon_image=@C:\Users\Augustine\AppData\Local\Temp\php574.tmp" 
const url = new URL(
    "http://localhost/api/course/category"
);

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

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

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

Request      

POST api/course/category

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

image   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php573.tmp

icon_image   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php574.tmp

name   string   

Example: architecto

Display the specified course category.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/course/category/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the category. Example: 16

Update the specified course category in storage.

Example request:
curl --request PUT \
    "http://localhost/api/course/category/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=architecto"\
    --form "image=@C:\Users\Augustine\AppData\Local\Temp\php585.tmp" \
    --form "icon_image=@C:\Users\Augustine\AppData\Local\Temp\php586.tmp" 
const url = new URL(
    "http://localhost/api/course/category/16"
);

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

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

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

Request      

PUT api/course/category/{id}

PATCH api/course/category/{id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the category. Example: 16

Body Parameters

image   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php585.tmp

icon_image   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php586.tmp

name   string   

Example: architecto

Remove the specified course category from storage.

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

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

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

Request      

DELETE api/course/category/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the category. Example: 16

Display a listing of the courses.

Example request:
curl --request GET \
    --get "http://localhost/api/course?search=UI%2FUX" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/course"
);

const params = {
    "search": "UI/UX",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/course

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

search   string  optional  

Search term to filter courses. Example: UI/UX

Store a newly created course in storage.

Example request:
curl --request POST \
    "http://localhost/api/course" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "category_id=architecto"\
    --form "instructor_id=architecto"\
    --form "name=n"\
    --form "description=Eius et animi quos velit et."\
    --form "level=advanced"\
    --form "duration=v"\
    --form "price=16"\
    --form "allow_subscription="\
    --form "number_of_lessons=22"\
    --form "skill[]=architecto"\
    --form "coverimage=@C:\Users\Augustine\AppData\Local\Temp\php597.tmp" \
    --form "introvideo=@C:\Users\Augustine\AppData\Local\Temp\php598.tmp" 
const url = new URL(
    "http://localhost/api/course"
);

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

const body = new FormData();
body.append('category_id', 'architecto');
body.append('instructor_id', 'architecto');
body.append('name', 'n');
body.append('description', 'Eius et animi quos velit et.');
body.append('level', 'advanced');
body.append('duration', 'v');
body.append('price', '16');
body.append('allow_subscription', '');
body.append('number_of_lessons', '22');
body.append('skill[]', 'architecto');
body.append('coverimage', document.querySelector('input[name="coverimage"]').files[0]);
body.append('introvideo', document.querySelector('input[name="introvideo"]').files[0]);

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

Request      

POST api/course

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

category_id   string   

The id of an existing record in the course_categories table. Example: architecto

instructor_id   string   

Example: architecto

name   string   

Must not be greater than 255 characters. Example: n

description   string   

Example: Eius et animi quos velit et.

level   string   

Example: advanced

Must be one of:
  • beginner
  • intermediate
  • advanced
duration   string   

Must not be greater than 30 characters. Example: v

coverimage   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php597.tmp

introvideo   file   

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php598.tmp

price   number  optional  

Must be at least 1. Example: 16

allow_subscription   boolean  optional  

Example: false

number_of_lessons   number  optional  

Must be at least 1. Example: 22

skills   object  optional  
skill   string[]  optional  

Display the specified resource.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/course/{course_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_id   integer   

The ID of the course. Example: 16

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/course/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "category_id=architecto"\
    --form "instructor_id=architecto"\
    --form "name=n"\
    --form "description=Eius et animi quos velit et."\
    --form "level=advanced"\
    --form "duration=v"\
    --form "price=16"\
    --form "number_of_lessons=22"\
    --form "allow_subscription=1"\
    --form "skill[]=architecto"\
    --form "coverimage=@C:\Users\Augustine\AppData\Local\Temp\php5A8.tmp" \
    --form "introvideo=@C:\Users\Augustine\AppData\Local\Temp\php5A9.tmp" 
const url = new URL(
    "http://localhost/api/course/16"
);

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

const body = new FormData();
body.append('category_id', 'architecto');
body.append('instructor_id', 'architecto');
body.append('name', 'n');
body.append('description', 'Eius et animi quos velit et.');
body.append('level', 'advanced');
body.append('duration', 'v');
body.append('price', '16');
body.append('number_of_lessons', '22');
body.append('allow_subscription', '1');
body.append('skill[]', 'architecto');
body.append('coverimage', document.querySelector('input[name="coverimage"]').files[0]);
body.append('introvideo', document.querySelector('input[name="introvideo"]').files[0]);

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

Request      

PUT api/course/{course_id}

PATCH api/course/{course_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

course_id   integer   

The ID of the course. Example: 16

Body Parameters

category_id   string   

The id of an existing record in the course_categories table. Example: architecto

instructor_id   string   

Example: architecto

name   string   

Must not be greater than 255 characters. Example: n

description   string   

Example: Eius et animi quos velit et.

level   string   

Example: advanced

Must be one of:
  • beginner
  • intermediate
  • advanced
duration   string  optional  

Must not be greater than 30 characters. Example: v

coverimage   file  optional  

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php5A8.tmp

introvideo   file  optional  

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php5A9.tmp

price   number  optional  

Must be at least 1. Example: 16

number_of_lessons   number  optional  

Must be at least 1. Example: 22

allow_subscription   boolean  optional  

Example: true

skills   object  optional  
skill   string[]  optional  

Remove the specified resource from storage.

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

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

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

Request      

DELETE api/course/{course_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_id   integer   

The ID of the course. Example: 16

Display a listing of the resource.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/course/curriculum

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Store a newly created resource in storage.

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

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

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

Request      

POST api/course/curriculum

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Display the specified curriculum/lesson.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/course/curriculum/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the curriculum. Example: 16

Update the specified resource in storage.

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

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

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

Request      

PUT api/course/curriculum/{id}

PATCH api/course/curriculum/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the curriculum. Example: 16

Remove the specified resource from storage.

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

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

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

Request      

DELETE api/course/curriculum/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the curriculum. Example: 16

Fetch instructor course created by instructor

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/course/instructor/{instructor_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

instructor_user_id   string   

The ID of the instructor user. Example: architecto

POST api/course/enroll-student

Example request:
curl --request POST \
    "http://localhost/api/course/enroll-student" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"student_id\": \"architecto\",
    \"course_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/course/enroll-student"
);

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

let body = {
    "student_id": "architecto",
    "course_id": "architecto"
};

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

Request      

POST api/course/enroll-student

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

student_id   string   

The user_id of an existing record in the students table. Example: architecto

course_id   string   

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

Display a listing of the resource.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/course/caricula

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Store a newly created resource in storage.

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

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

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

Request      

POST api/course/caricula

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Display the specified curriculum/lesson.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/course/caricula/{curriculum_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

curriculum_id   integer   

The ID of the curriculum. Example: 16

Update the specified resource in storage.

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

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

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

Request      

PUT api/course/caricula/{curriculum_id}

PATCH api/course/caricula/{curriculum_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

curriculum_id   integer   

The ID of the curriculum. Example: 16

Remove the specified resource from storage.

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

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

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

Request      

DELETE api/course/caricula/{curriculum_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

curriculum_id   integer   

The ID of the curriculum. Example: 16

Display a listing of the course categories.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/admin/course/category

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Store a newly created course category in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/course/category" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=architecto"\
    --form "image=@C:\Users\Augustine\AppData\Local\Temp\php60A.tmp" \
    --form "icon_image=@C:\Users\Augustine\AppData\Local\Temp\php60B.tmp" 
const url = new URL(
    "http://localhost/api/admin/course/category"
);

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

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

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

Request      

POST api/admin/course/category

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

image   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php60A.tmp

icon_image   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php60B.tmp

name   string   

Example: architecto

Display the specified course category.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/admin/course/category/{slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

slug   integer   

The slug of the category. Example: 16

Update the specified course category in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/course/category/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=architecto"\
    --form "image=@C:\Users\Augustine\AppData\Local\Temp\php61C.tmp" \
    --form "icon_image=@C:\Users\Augustine\AppData\Local\Temp\php61D.tmp" 
const url = new URL(
    "http://localhost/api/admin/course/category/16"
);

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

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

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

Request      

PUT api/admin/course/category/{slug}

PATCH api/admin/course/category/{slug}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

slug   integer   

The slug of the category. Example: 16

Body Parameters

image   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php61C.tmp

icon_image   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php61D.tmp

name   string   

Example: architecto

Remove the specified course category from storage.

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

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

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

Request      

DELETE api/admin/course/category/{slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

slug   integer   

The slug of the category. Example: 16

Display a listing of the courses.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/course?search=UI%2FUX" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/course"
);

const params = {
    "search": "UI/UX",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/admin/course

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

search   string  optional  

Search term to filter courses. Example: UI/UX

Store a newly created course in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/course" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "category_id=architecto"\
    --form "instructor_id=architecto"\
    --form "name=n"\
    --form "description=Eius et animi quos velit et."\
    --form "level=intermediate"\
    --form "duration=v"\
    --form "price=16"\
    --form "allow_subscription=1"\
    --form "number_of_lessons=22"\
    --form "skill[]=architecto"\
    --form "coverimage=@C:\Users\Augustine\AppData\Local\Temp\php62D.tmp" \
    --form "introvideo=@C:\Users\Augustine\AppData\Local\Temp\php62E.tmp" 
const url = new URL(
    "http://localhost/api/admin/course"
);

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

const body = new FormData();
body.append('category_id', 'architecto');
body.append('instructor_id', 'architecto');
body.append('name', 'n');
body.append('description', 'Eius et animi quos velit et.');
body.append('level', 'intermediate');
body.append('duration', 'v');
body.append('price', '16');
body.append('allow_subscription', '1');
body.append('number_of_lessons', '22');
body.append('skill[]', 'architecto');
body.append('coverimage', document.querySelector('input[name="coverimage"]').files[0]);
body.append('introvideo', document.querySelector('input[name="introvideo"]').files[0]);

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

Request      

POST api/admin/course

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

category_id   string   

The id of an existing record in the course_categories table. Example: architecto

instructor_id   string   

Example: architecto

name   string   

Must not be greater than 255 characters. Example: n

description   string   

Example: Eius et animi quos velit et.

level   string   

Example: intermediate

Must be one of:
  • beginner
  • intermediate
  • advanced
duration   string   

Must not be greater than 30 characters. Example: v

coverimage   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php62D.tmp

introvideo   file   

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php62E.tmp

price   number  optional  

Must be at least 1. Example: 16

allow_subscription   boolean  optional  

Example: true

number_of_lessons   number  optional  

Must be at least 1. Example: 22

skills   object  optional  
skill   string[]  optional  

Display the specified resource.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/admin/course/{course_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_slug   integer   

The slug of the course. Example: 16

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/course/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "category_id=architecto"\
    --form "instructor_id=architecto"\
    --form "name=n"\
    --form "description=Eius et animi quos velit et."\
    --form "level=intermediate"\
    --form "duration=v"\
    --form "price=16"\
    --form "number_of_lessons=22"\
    --form "allow_subscription="\
    --form "skill[]=architecto"\
    --form "coverimage=@C:\Users\Augustine\AppData\Local\Temp\php63F.tmp" \
    --form "introvideo=@C:\Users\Augustine\AppData\Local\Temp\php640.tmp" 
const url = new URL(
    "http://localhost/api/admin/course/16"
);

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

const body = new FormData();
body.append('category_id', 'architecto');
body.append('instructor_id', 'architecto');
body.append('name', 'n');
body.append('description', 'Eius et animi quos velit et.');
body.append('level', 'intermediate');
body.append('duration', 'v');
body.append('price', '16');
body.append('number_of_lessons', '22');
body.append('allow_subscription', '');
body.append('skill[]', 'architecto');
body.append('coverimage', document.querySelector('input[name="coverimage"]').files[0]);
body.append('introvideo', document.querySelector('input[name="introvideo"]').files[0]);

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

Request      

PUT api/admin/course/{course_slug}

PATCH api/admin/course/{course_slug}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

course_slug   integer   

The slug of the course. Example: 16

Body Parameters

category_id   string   

The id of an existing record in the course_categories table. Example: architecto

instructor_id   string   

Example: architecto

name   string   

Must not be greater than 255 characters. Example: n

description   string   

Example: Eius et animi quos velit et.

level   string   

Example: intermediate

Must be one of:
  • beginner
  • intermediate
  • advanced
duration   string  optional  

Must not be greater than 30 characters. Example: v

coverimage   file  optional  

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php63F.tmp

introvideo   file  optional  

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php640.tmp

price   number  optional  

Must be at least 1. Example: 16

number_of_lessons   number  optional  

Must be at least 1. Example: 22

allow_subscription   boolean  optional  

Example: false

skills   object  optional  
skill   string[]  optional  

Remove the specified resource from storage.

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

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

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

Request      

DELETE api/admin/course/{course_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_slug   integer   

The slug of the course. Example: 16

Get enrolled student for course

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/admin/course/{course_slug}/students

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_slug   integer   

The slug of the course. Example: 16

Enrolled student in course

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

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

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

Request      

POST api/admin/course/{course_slug}/enroll-students

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_slug   integer   

The slug of the course. Example: 16

Fetch instructor course created by instructor

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/admin/instructors/{instructor_user_id}/course

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

instructor_user_id   string   

The ID of the instructor user. Example: architecto

Customer lead management API

Api for managing customer leads

Fetch learner leads

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/leads/learner

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create new learner lead

Example request:
curl --request POST \
    "http://localhost/api/leads/learner" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"email\": \"zbailey@example.net\",
    \"phone\": \"architecto\",
    \"course_interest\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/leads/learner"
);

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

let body = {
    "name": "b",
    "email": "zbailey@example.net",
    "phone": "architecto",
    "course_interest": "architecto"
};

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

Request      

POST api/leads/learner

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Must not be greater than 255 characters. Example: b

email   string   

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

phone   string   

Example: architecto

course_interest   string   

Example: architecto

Update specified learner lead

Example request:
curl --request POST \
    "http://localhost/api/leads/update/learner/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"email\": \"zbailey@example.net\",
    \"phone\": \"architecto\",
    \"course_interest\": \"architecto\",
    \"lead_source\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/leads/update/learner/16"
);

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

let body = {
    "name": "b",
    "email": "zbailey@example.net",
    "phone": "architecto",
    "course_interest": "architecto",
    "lead_source": "architecto"
};

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

Request      

POST api/leads/update/learner/{lead_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

lead_id   integer   

The ID of the lead. Example: 16

Body Parameters

name   string   

Must not be greater than 255 characters. Example: b

email   string   

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

phone   string   

Example: architecto

course_interest   string   

Example: architecto

lead_source   string   

Example: architecto

Fetch course creator/instructor leads

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/leads/creator

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Create new course creator/instructor lead

Example request:
curl --request POST \
    "http://localhost/api/leads/creator" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"email\": \"zbailey@example.net\",
    \"phone\": \"architecto\",
    \"course_interest\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/leads/creator"
);

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

let body = {
    "name": "b",
    "email": "zbailey@example.net",
    "phone": "architecto",
    "course_interest": "architecto"
};

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

Request      

POST api/leads/creator

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Must not be greater than 255 characters. Example: b

email   string   

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

phone   string   

Example: architecto

course_interest   string   

Example: architecto

Update specified creator/instructor lead

Example request:
curl --request POST \
    "http://localhost/api/leads/update/creator/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"email\": \"zbailey@example.net\",
    \"phone\": \"architecto\",
    \"course_interest\": \"architecto\",
    \"lead_source\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/leads/update/creator/16"
);

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

let body = {
    "name": "b",
    "email": "zbailey@example.net",
    "phone": "architecto",
    "course_interest": "architecto",
    "lead_source": "architecto"
};

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

Request      

POST api/leads/update/creator/{lead_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

lead_id   integer   

The ID of the lead. Example: 16

Body Parameters

name   string   

Must not be greater than 255 characters. Example: b

email   string   

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

phone   string   

Example: architecto

course_interest   string   

Example: architecto

lead_source   string   

Example: architecto

Fetch business (b2b) leads

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/leads/b2b

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create new business lead

Example request:
curl --request POST \
    "http://localhost/api/leads/b2b" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"institution\": \"b\",
    \"contact_person\": \"n\",
    \"email\": \"ashly64@example.com\",
    \"phone\": \"architecto\",
    \"system_use\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/leads/b2b"
);

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

let body = {
    "institution": "b",
    "contact_person": "n",
    "email": "ashly64@example.com",
    "phone": "architecto",
    "system_use": "architecto"
};

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

Request      

POST api/leads/b2b

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

institution   string   

Must not be greater than 255 characters. Example: b

contact_person   string   

Must not be greater than 255 characters. Example: n

email   string   

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

phone   string   

Example: architecto

system_use   string   

Example: architecto

Update specified business lead

Example request:
curl --request POST \
    "http://localhost/api/leads/update/b2b/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"institution\": \"b\",
    \"contact_person\": \"ngzmiyvd\",
    \"email\": \"jermaine.tillman@example.org\",
    \"phone\": \"architecto\",
    \"system_use\": \"architecto\",
    \"lead_source\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/leads/update/b2b/16"
);

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

let body = {
    "institution": "b",
    "contact_person": "ngzmiyvd",
    "email": "jermaine.tillman@example.org",
    "phone": "architecto",
    "system_use": "architecto",
    "lead_source": "architecto"
};

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

Request      

POST api/leads/update/b2b/{lead_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

lead_id   integer   

The ID of the lead. Example: 16

Body Parameters

institution   string   

Must not be greater than 255 characters. Example: b

contact_person   string   

Must not be greater than 255 characters. Example: ngzmiyvd

email   string   

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

phone   string   

Example: architecto

system_use   string   

Example: architecto

lead_source   string   

Example: architecto

Customer support managment

Api for managing client/customer support

Display a listing of all support tickets.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/support

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Create a new support ticket.

Example request:
curl --request POST \
    "http://localhost/api/support" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "category=Payment"\
    --form "customer_name=Payment"\
    --form "customer_email=example@mail.com"\
    --form "customer_phone=+2332345678910"\
    --form "message=architecto"\
    --form "file=@C:\Users\Augustine\AppData\Local\Temp\php4D3.tmp" 
const url = new URL(
    "http://localhost/api/support"
);

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

const body = new FormData();
body.append('category', 'Payment');
body.append('customer_name', 'Payment');
body.append('customer_email', 'example@mail.com');
body.append('customer_phone', '+2332345678910');
body.append('message', 'architecto');
body.append('file', document.querySelector('input[name="file"]').files[0]);

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

Request      

POST api/support

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

category   string   

Type of support ticket. Example: Payment

customer_name   string   

Type of support ticket. Example: Payment

customer_email   string   

Customer's email. Example: example@mail.com

customer_phone   string   

Customer's phone number. Example: +2332345678910

message   string   

Support ticket message. Example: architecto

file   file  optional  

File attachment to support. Example: C:\Users\Augustine\AppData\Local\Temp\php4D3.tmp

Display the specified support ticket.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/support/{support_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

support_id   integer   

The ID of the support. Example: 16

Update the specified support ticket.

Example request:
curl --request PUT \
    "http://localhost/api/support/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "category=architecto"\
    --form "customer_name=architecto"\
    --form "customer_email=gbailey@example.net"\
    --form "customer_phone=architecto"\
    --form "message=architecto"\
    --form "file=@C:\Users\Augustine\AppData\Local\Temp\php4E4.tmp" 
const url = new URL(
    "http://localhost/api/support/16"
);

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

const body = new FormData();
body.append('category', 'architecto');
body.append('customer_name', 'architecto');
body.append('customer_email', 'gbailey@example.net');
body.append('customer_phone', 'architecto');
body.append('message', 'architecto');
body.append('file', document.querySelector('input[name="file"]').files[0]);

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

Request      

PUT api/support/{support_id}

PATCH api/support/{support_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

support_id   integer   

The ID of the support. Example: 16

Body Parameters

category   string   

Example: architecto

customer_name   string   

Example: architecto

customer_email   string   

Example: gbailey@example.net

customer_phone   string   

Example: architecto

message   string   

Example: architecto

file   file  optional  

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php4E4.tmp

Remove the specified support ticket.

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

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

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

Request      

DELETE api/support/{support_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

support_id   integer   

The ID of the support. Example: 16

Daily Quiz management

API for managing daily quizzes

fetch daily quiz Quiz

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Student] architecto"
}
 

Request      

GET api/student/daily-quiz/fetch-daily-quiz/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

GET api/student/daily-quiz/take-daily-quiz/{quiz_id}

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\DailyQuiz] 16"
}
 

Request      

GET api/student/daily-quiz/take-daily-quiz/{quiz_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

quiz_id   integer   

The ID of the quiz. Example: 16

Email Verification

APIs Email verifiaction

Send a new email verification notification.

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

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

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

Request      

POST api/email/verification-notification

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Endpoints

GET api/student/profile/fetch-profile-screen-info/{student_user_id}

Example request:
curl --request GET \
    --get "http://localhost/api/student/profile/fetch-profile-screen-info/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/profile/fetch-profile-screen-info/architecto"
);

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Student] architecto"
}
 

Request      

GET api/student/profile/fetch-profile-screen-info/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/student/courses/review" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"course_id\": \"architecto\",
    \"student_id\": \"architecto\",
    \"comment\": \"architecto\",
    \"stars\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/student/courses/review"
);

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

let body = {
    "course_id": "architecto",
    "student_id": "architecto",
    "comment": "architecto",
    "stars": "architecto"
};

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

Request      

POST api/student/courses/review

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: architecto

student_id   string   

The user_id of an existing record in the students table. Example: architecto

comment   string   

Example: architecto

stars   string   

Example: architecto

GET api/student/streak/get_streak/{student_user_id}

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Student] architecto"
}
 

Request      

GET api/student/streak/get_streak/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/student/streak/create" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"student_id\": \"architecto\",
    \"start_date\": \"2025-08-22T12:15:30\",
    \"end_date\": \"2051-09-15\"
}"
const url = new URL(
    "http://localhost/api/student/streak/create"
);

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

let body = {
    "student_id": "architecto",
    "start_date": "2025-08-22T12:15:30",
    "end_date": "2051-09-15"
};

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

Request      

POST api/student/streak/create

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

student_id   string   

The user_id of an existing record in the students table. Example: architecto

start_date   string   

Must be a valid date. Example: 2025-08-22T12:15:30

end_date   string   

Must be a valid date. Must be a date after start_date. Example: 2051-09-15

GET api/student/library/{student_user_id}/books

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Student] architecto"
}
 

Request      

GET api/student/library/{student_user_id}/books

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Fetch practice problems for given student

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Student] architecto"
}
 

Request      

GET api/student/practice/problems/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Display the specified resource.

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\PracticeProblem] 16"
}
 

Request      

GET api/student/practice-problem/{practiceProblem_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

practiceProblem_id   integer   

The ID of the practiceProblem. Example: 16

Download the specified file

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\CourseFile] 16"
}
 

Request      

GET api/instructor/courses/files/{courseFile_id}/download

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

courseFile_id   integer   

The ID of the courseFile. Example: 16

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/instructor/courses/files" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "course_id=architecto"\
    --form "file=@C:\Users\Augustine\AppData\Local\Temp\php286.tmp" 
const url = new URL(
    "http://localhost/api/instructor/courses/files"
);

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

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

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

Request      

POST api/instructor/courses/files

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

course_id   string   

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

file   file   

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php286.tmp

description   string  optional  

Display the specified resource.

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\CourseFile] 16"
}
 

Request      

GET api/instructor/courses/files/{courseFile_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

courseFile_id   integer   

The ID of the courseFile. Example: 16

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/instructor/courses/files/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "file=@C:\Users\Augustine\AppData\Local\Temp\php297.tmp" 
const url = new URL(
    "http://localhost/api/instructor/courses/files/16"
);

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: "PUT",
    headers,
    body,
}).then(response => response.json());

Request      

PUT api/instructor/courses/files/{courseFile_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

courseFile_id   integer   

The ID of the courseFile. Example: 16

Body Parameters

file   file   

'course_id' => ['required','exists:courses,id'],. Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php297.tmp

description   string  optional  

Remove the specified resource from storage.

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

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

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

Request      

DELETE api/instructor/courses/files/{courseFile_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

courseFile_id   integer   

The ID of the courseFile. Example: 16

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/instructor/courses/books" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "course_id=architecto"\
    --form "name=n"\
    --form "author=g"\
    --form "downloadable="\
    --form "book=@C:\Users\Augustine\AppData\Local\Temp\php2A7.tmp" \
    --form "book_cover=@C:\Users\Augustine\AppData\Local\Temp\php2A8.tmp" 
const url = new URL(
    "http://localhost/api/instructor/courses/books"
);

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

const body = new FormData();
body.append('course_id', 'architecto');
body.append('name', 'n');
body.append('author', 'g');
body.append('downloadable', '');
body.append('book', document.querySelector('input[name="book"]').files[0]);
body.append('book_cover', document.querySelector('input[name="book_cover"]').files[0]);

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

Request      

POST api/instructor/courses/books

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

course_id   string   

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

name   string   

Must not be greater than 255 characters. Example: n

author   string   

Must not be greater than 255 characters. Example: g

book   file   

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php2A7.tmp

book_cover   file   

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php2A8.tmp

description   string  optional  
downloadable   boolean   

Example: false

Display the specified resource.

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\CourseBook] 16"
}
 

Request      

GET api/instructor/courses/books/{courseBook_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

courseBook_id   integer   

The ID of the courseBook. Example: 16

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/instructor/courses/books/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=b"\
    --form "author=n"\
    --form "downloadable=1"\
    --form "book=@C:\Users\Augustine\AppData\Local\Temp\php2B9.tmp" \
    --form "book_cover=@C:\Users\Augustine\AppData\Local\Temp\php2C9.tmp" 
const url = new URL(
    "http://localhost/api/instructor/courses/books/16"
);

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

const body = new FormData();
body.append('name', 'b');
body.append('author', 'n');
body.append('downloadable', '1');
body.append('book', document.querySelector('input[name="book"]').files[0]);
body.append('book_cover', document.querySelector('input[name="book_cover"]').files[0]);

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

Request      

PUT api/instructor/courses/books/{courseBook_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

courseBook_id   integer   

The ID of the courseBook. Example: 16

Body Parameters

name   string   

'course_id' => ['required', 'exists:courses,id'],. Must not be greater than 255 characters. Example: b

author   string   

Must not be greater than 255 characters. Example: n

book   file  optional  

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php2B9.tmp

book_cover   file  optional  

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php2C9.tmp

description   string  optional  
downloadable   boolean   

Example: true

Remove the specified resource from storage.

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

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

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

Request      

DELETE api/instructor/courses/books/{courseBook_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

courseBook_id   integer   

The ID of the courseBook. Example: 16

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/instructor/courses/tests/test-questions/options" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "question_id=architecto"\
    --form "option=architecto"\
    --form "media_file=@C:\Users\Augustine\AppData\Local\Temp\php2CA.tmp" 
const url = new URL(
    "http://localhost/api/instructor/courses/tests/test-questions/options"
);

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

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

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

Request      

POST api/instructor/courses/tests/test-questions/options

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

question_id   string   

The id of an existing record in the carriculum_test_questions table. Example: architecto

option   string   

Example: architecto

media_file   file  optional  

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php2CA.tmp

Display the specified resource.

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\CTQuestionOption] 16"
}
 

Request      

GET api/instructor/courses/tests/test-questions/options/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the option. Example: 16

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/instructor/courses/tests/test-questions/options/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "question_id=architecto"\
    --form "option=architecto"\
    --form "media_file=@C:\Users\Augustine\AppData\Local\Temp\php2EB.tmp" 
const url = new URL(
    "http://localhost/api/instructor/courses/tests/test-questions/options/16"
);

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

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

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

Request      

PUT api/instructor/courses/tests/test-questions/options/{id}

PATCH api/instructor/courses/tests/test-questions/options/{id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the option. Example: 16

Body Parameters

question_id   string   

The id of an existing record in the carriculum_test_questions table. Example: architecto

option   string   

Example: architecto

media_file   file  optional  

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php2EB.tmp

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/instructor/courses/tests/test-questions/options/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/instructor/courses/tests/test-questions/options/16"
);

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

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

Request      

DELETE api/instructor/courses/tests/test-questions/options/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the option. Example: 16

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/instructor/courses/practice/problem" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"course_id\": \"architecto\",
    \"title\": \"n\",
    \"description\": \"Eius et animi quos velit et.\",
    \"runtime_type\": \"compiler\",
    \"difficulty\": \"easy\",
    \"hint\": \"architecto\",
    \"start_code\": [
        {
            \"name\": \"architecto\",
            \"language\": \"architecto\",
            \"value\": \"architecto\"
        }
    ]
}"
const url = new URL(
    "http://localhost/api/instructor/courses/practice/problem"
);

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

let body = {
    "course_id": "architecto",
    "title": "n",
    "description": "Eius et animi quos velit et.",
    "runtime_type": "compiler",
    "difficulty": "easy",
    "hint": "architecto",
    "start_code": [
        {
            "name": "architecto",
            "language": "architecto",
            "value": "architecto"
        }
    ]
};

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

Request      

POST api/instructor/courses/practice/problem

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: architecto

title   string   

Must not be greater than 200 characters. Example: n

description   string   

Example: Eius et animi quos velit et.

runtime_type   string   

Example: compiler

Must be one of:
  • compiler
  • browser
difficulty   string   

Example: easy

Must be one of:
  • easy
  • medium
  • hard
hint   string  optional  

Example: architecto

start_code   object[]  optional  
name   string  optional  

Example: architecto

language   string  optional  

Example: architecto

value   string  optional  

Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/instructor/courses/practice/problem/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"course_id\": \"architecto\",
    \"title\": \"n\",
    \"description\": \"Eius et animi quos velit et.\",
    \"runtime_type\": \"compiler\",
    \"difficulty\": \"hard\",
    \"hint\": \"architecto\",
    \"start_code\": [
        {
            \"name\": \"architecto\",
            \"language\": \"architecto\",
            \"value\": \"architecto\"
        }
    ]
}"
const url = new URL(
    "http://localhost/api/instructor/courses/practice/problem/16"
);

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

let body = {
    "course_id": "architecto",
    "title": "n",
    "description": "Eius et animi quos velit et.",
    "runtime_type": "compiler",
    "difficulty": "hard",
    "hint": "architecto",
    "start_code": [
        {
            "name": "architecto",
            "language": "architecto",
            "value": "architecto"
        }
    ]
};

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

Request      

PUT api/instructor/courses/practice/problem/{practiceProblem_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

practiceProblem_id   integer   

The ID of the practiceProblem. Example: 16

Body Parameters

course_id   string   

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

title   string   

Must not be greater than 200 characters. Example: n

description   string   

Example: Eius et animi quos velit et.

runtime_type   string   

Example: compiler

Must be one of:
  • compiler
  • browser
difficulty   string   

Example: hard

Must be one of:
  • easy
  • medium
  • hard
hint   string  optional  

Example: architecto

start_code   object[]  optional  
name   string  optional  

Example: architecto

language   string  optional  

Example: architecto

value   string  optional  

Example: architecto

Remove the specified resource from storage.

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

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

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

Request      

DELETE api/instructor/courses/practice/problem/{practiceProblem_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

practiceProblem_id   integer   

The ID of the practiceProblem. Example: 16

Show the practice problems for the specified course.

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

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

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

Example response (404):

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

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

Request      

GET api/instructor/courses/practice/{course_id}/problem

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_id   integer   

The ID of the course. Example: 16

GET api/instructor/earnings/all/{instructor_user_id}

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Instructor] architecto"
}
 

Request      

GET api/instructor/earnings/all/{instructor_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

instructor_user_id   string   

The ID of the instructor user. Example: architecto

POST api/bootcamp/ug

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

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

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

Request      

POST api/bootcamp/ug

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/bootcamp/ug/users

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

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: 0
access-control-allow-origin: *
 

{
    "current_page": 1,
    "data": [],
    "first_page_url": "http://localhost/api/bootcamp/ug/users?page=1",
    "from": null,
    "last_page": 1,
    "last_page_url": "http://localhost/api/bootcamp/ug/users?page=1",
    "links": [
        {
            "url": null,
            "label": "&laquo; Previous",
            "active": false
        },
        {
            "url": "http://localhost/api/bootcamp/ug/users?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next &raquo;",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "http://localhost/api/bootcamp/ug/users",
    "per_page": 10,
    "prev_page_url": null,
    "to": null,
    "total": 0
}
 

Request      

GET api/bootcamp/ug/users

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/bootcamp/ug/users-two

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/bootcamp/ug/users-two

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/bootcamp/advanced

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

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

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

Request      

POST api/bootcamp/advanced

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/bootcamp/advanced/users

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/bootcamp/advanced/users

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/webhook/flutterwave

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

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

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

Request      

POST api/webhook/flutterwave

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Store student project submission.

Example request:
curl --request POST \
    "http://localhost/api/quiz/project/submission" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "question_id=architecto"\
    --form "student_id=architecto"\
    --form "file_type=architecto"\
    --form "submitted_at=2025-08-22T12:15:31"\
    --form "file=@C:\Users\Augustine\AppData\Local\Temp\php542.tmp" 
const url = new URL(
    "http://localhost/api/quiz/project/submission"
);

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

const body = new FormData();
body.append('question_id', 'architecto');
body.append('student_id', 'architecto');
body.append('file_type', 'architecto');
body.append('submitted_at', '2025-08-22T12:15:31');
body.append('file', document.querySelector('input[name="file"]').files[0]);

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

Request      

POST api/quiz/project/submission

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

question_id   string   

The id of an existing record in the carriculum_test_questions table. Example: architecto

student_id   string   

The user_id of an existing record in the students table. Example: architecto

file   file   

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php542.tmp

file_type   string  optional  

Example: architecto

submitted_at   string  optional  

Must be a valid date. Example: 2025-08-22T12:15:31

Update the submitted project resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/quiz/project/submission/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "question_id=architecto"\
    --form "student_id=architecto"\
    --form "file_type=architecto"\
    --form "submitted_at=2025-08-22T12:15:31"\
    --form "file=@C:\Users\Augustine\AppData\Local\Temp\php543.tmp" 
const url = new URL(
    "http://localhost/api/quiz/project/submission/16"
);

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

const body = new FormData();
body.append('question_id', 'architecto');
body.append('student_id', 'architecto');
body.append('file_type', 'architecto');
body.append('submitted_at', '2025-08-22T12:15:31');
body.append('file', document.querySelector('input[name="file"]').files[0]);

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

Request      

PUT api/quiz/project/submission/{id}

PATCH api/quiz/project/submission/{id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the submission. Example: 16

Body Parameters

question_id   string   

The id of an existing record in the carriculum_test_questions table. Example: architecto

student_id   string   

The user_id of an existing record in the students table. Example: architecto

file   file   

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php543.tmp

file_type   string  optional  

Example: architecto

submitted_at   string  optional  

Must be a valid date. Example: 2025-08-22T12:15:31

GET api/creator-school/list

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/creator-school/list

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/creator-school/list

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

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

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

Request      

POST api/creator-school/list

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/workabl/mailbox-waitlist

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

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

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

Request      

POST api/workabl/mailbox-waitlist

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/cp/team/project-proposals

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/cp/team/project-proposals

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/cp/team/project

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

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

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

Request      

POST api/cp/team/project

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/users/grant-list

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/users/grant-list

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/innovation/register

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

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

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

Request      

POST api/innovation/register

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/innovation/users

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/innovation/users

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/remote-work/register

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

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

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

Request      

POST api/remote-work/register

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/remote-work/users

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/remote-work/users

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/admin/learners/profile-info/{student_user_id}

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/admin/learners/profile-info/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Update the model in the database.

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

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

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

Request      

PUT api/admin/community-reports/post/{report_slug}

PATCH api/admin/community-reports/post/{report_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

report_slug   string   

The slug of the report. Example: architecto

Destroy the models for the given IDs.

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

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

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

Request      

DELETE api/admin/community-reports/post/{report_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

report_slug   string   

The slug of the report. Example: architecto

Update the model in the database.

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

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

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

Request      

PUT api/admin/community-reports/comment/{report_slug}

PATCH api/admin/community-reports/comment/{report_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

report_slug   string   

The slug of the report. Example: architecto

Destroy the models for the given IDs.

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

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

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

Request      

DELETE api/admin/community-reports/comment/{report_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

report_slug   string   

The slug of the report. Example: architecto

Update the model in the database.

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

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

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

Request      

PUT api/admin/community-reports/reply/{report_slug}

PATCH api/admin/community-reports/reply/{report_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

report_slug   string   

The slug of the report. Example: architecto

Destroy the models for the given IDs.

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

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

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

Request      

DELETE api/admin/community-reports/reply/{report_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

report_slug   string   

The slug of the report. Example: architecto

POST api/interview/interviewee_profile

Example request:
curl --request POST \
    "http://localhost/api/interview/interviewee_profile" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"industry\": \"architecto\",
    \"company_size\": 4326.41688,
    \"role\": \"architecto\",
    \"name\": \"n\",
    \"phone_number\": \"architecto\",
    \"email\": \"zbailey@example.net\",
    \"course\": \"architecto\",
    \"skills\": [
        {
            \"name\": \"architecto\"
        }
    ],
    \"work\": [
        {
            \"company\": \"architecto\"
        }
    ],
    \"education\": [
        {
            \"school\": \"architecto\"
        }
    ]
}"
const url = new URL(
    "http://localhost/api/interview/interviewee_profile"
);

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

let body = {
    "industry": "architecto",
    "company_size": 4326.41688,
    "role": "architecto",
    "name": "n",
    "phone_number": "architecto",
    "email": "zbailey@example.net",
    "course": "architecto",
    "skills": [
        {
            "name": "architecto"
        }
    ],
    "work": [
        {
            "company": "architecto"
        }
    ],
    "education": [
        {
            "school": "architecto"
        }
    ]
};

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

Request      

POST api/interview/interviewee_profile

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

industry   string   

Example: architecto

company_size   number   

Example: 4326.41688

role   string   

Example: architecto

skills   object[]  optional  
name   string   

Example: architecto

work   object[]  optional  
company   string   

Example: architecto

education   object[]  optional  
school   string   

Example: architecto

name   string   

Must not be greater than 255 characters. Example: n

phone_number   string   

Example: architecto

email   string   

Must be a valid email address. Example: zbailey@example.net

course   string   

Example: architecto

GET api/interview/interviewees

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/interview/interviewees

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/interview/interviewees/{interviewee_id}

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/interview/interviewees/{interviewee_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

interviewee_id   integer   

The ID of the interviewee. Example: 16

POST api/interview/technical/create_question

Example request:
curl --request POST \
    "http://localhost/api/interview/technical/create_question" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"question\": \"architecto\",
    \"category\": \"architecto\",
    \"type\": \"short_answer\"
}"
const url = new URL(
    "http://localhost/api/interview/technical/create_question"
);

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

let body = {
    "question": "architecto",
    "category": "architecto",
    "type": "short_answer"
};

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

Request      

POST api/interview/technical/create_question

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

question   string   

'id',. Example: architecto

category   string   

Example: architecto

type   string   

Example: short_answer

Must be one of:
  • mcq
  • short_answer

GET api/interview/technical/questions

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/interview/technical/questions

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PUT api/interview/technical/questions/{question_id}

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

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

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

Request      

PUT api/interview/technical/questions/{question_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

question_id   integer   

The ID of the question. Example: 16

DELETE api/interview/technical/questions/{question_id}

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

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

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

Request      

DELETE api/interview/technical/questions/{question_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

question_id   integer   

The ID of the question. Example: 16

POST api/interview/technical/create_option

Example request:
curl --request POST \
    "http://localhost/api/interview/technical/create_option" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"question_id\": \"architecto\",
    \"option\": \"architecto\",
    \"is_correct\": false
}"
const url = new URL(
    "http://localhost/api/interview/technical/create_option"
);

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

let body = {
    "question_id": "architecto",
    "option": "architecto",
    "is_correct": false
};

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

Request      

POST api/interview/technical/create_option

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

question_id   string   

'id',. The id of an existing record in the technical_questions table. Example: architecto

option   string   

Example: architecto

is_correct   boolean   

Example: false

PUT api/interview/technical/options/{option_id}

Example request:
curl --request PUT \
    "http://localhost/api/interview/technical/options/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"question_id\": \"architecto\",
    \"option\": \"architecto\",
    \"is_correct\": false
}"
const url = new URL(
    "http://localhost/api/interview/technical/options/16"
);

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

let body = {
    "question_id": "architecto",
    "option": "architecto",
    "is_correct": false
};

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

Request      

PUT api/interview/technical/options/{option_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

option_id   integer   

The ID of the option. Example: 16

Body Parameters

question_id   string   

'id',. The id of an existing record in the technical_questions table. Example: architecto

option   string   

Example: architecto

is_correct   boolean   

Example: false

DELETE api/interview/technical/options/{option_id}

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

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

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

Request      

DELETE api/interview/technical/options/{option_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

option_id   integer   

The ID of the option. Example: 16

POST api/interview/technical/save_answer

Example request:
curl --request POST \
    "http://localhost/api/interview/technical/save_answer" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"interviewee_id\": \"architecto\",
    \"question_id\": \"architecto\",
    \"answer\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/interview/technical/save_answer"
);

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

let body = {
    "interviewee_id": "architecto",
    "question_id": "architecto",
    "answer": "architecto"
};

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

Request      

POST api/interview/technical/save_answer

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

interviewee_id   string   

The id of an existing record in the interviewees table. Example: architecto

question_id   string   

The id of an existing record in the technical_questions table. Example: architecto

answer   string  optional  

Example: architecto

GET api/interview/technical/get_result/{interviewee_id}

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/interview/technical/get_result/{interviewee_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

interviewee_id   integer   

The ID of the interviewee. Example: 16

POST api/interview/situational/create_question

Example request:
curl --request POST \
    "http://localhost/api/interview/situational/create_question" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"question\": \"architecto\",
    \"category\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/interview/situational/create_question"
);

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

let body = {
    "question": "architecto",
    "category": "architecto"
};

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

Request      

POST api/interview/situational/create_question

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

question   string   

'id',. Example: architecto

category   string   

Example: architecto

GET api/interview/situational/questions

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/interview/situational/questions

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PUT api/interview/situational/questions/{question_id}

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

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

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

Request      

PUT api/interview/situational/questions/{question_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

question_id   integer   

The ID of the question. Example: 16

DELETE api/interview/situational/questions/{question_id}

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

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

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

Request      

DELETE api/interview/situational/questions/{question_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

question_id   integer   

The ID of the question. Example: 16

POST api/interview/situational/create_step

Example request:
curl --request POST \
    "http://localhost/api/interview/situational/create_step" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"question_id\": \"architecto\",
    \"step\": \"architecto\",
    \"order\": 4326.41688
}"
const url = new URL(
    "http://localhost/api/interview/situational/create_step"
);

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

let body = {
    "question_id": "architecto",
    "step": "architecto",
    "order": 4326.41688
};

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

Request      

POST api/interview/situational/create_step

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

question_id   string   

'id',. The id of an existing record in the situational_questions table. Example: architecto

step   string   

Example: architecto

order   number   

Example: 4326.41688

PUT api/interview/situational/steps/{option_id}

Example request:
curl --request PUT \
    "http://localhost/api/interview/situational/steps/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"question_id\": \"architecto\",
    \"step\": \"architecto\",
    \"order\": 4326.41688
}"
const url = new URL(
    "http://localhost/api/interview/situational/steps/16"
);

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

let body = {
    "question_id": "architecto",
    "step": "architecto",
    "order": 4326.41688
};

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

Request      

PUT api/interview/situational/steps/{option_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

option_id   integer   

The ID of the option. Example: 16

Body Parameters

question_id   string   

'id',. The id of an existing record in the situational_questions table. Example: architecto

step   string   

Example: architecto

order   number   

Example: 4326.41688

DELETE api/interview/situational/steps/{option_id}

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

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

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

Request      

DELETE api/interview/situational/steps/{option_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

option_id   integer   

The ID of the option. Example: 16

POST api/interview/situational/save_answer

Example request:
curl --request POST \
    "http://localhost/api/interview/situational/save_answer" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"interviewee_id\": \"architecto\",
    \"question_id\": \"architecto\",
    \"answer\": [
        {
            \"id\": \"architecto\",
            \"step\": \"architecto\"
        }
    ]
}"
const url = new URL(
    "http://localhost/api/interview/situational/save_answer"
);

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

let body = {
    "interviewee_id": "architecto",
    "question_id": "architecto",
    "answer": [
        {
            "id": "architecto",
            "step": "architecto"
        }
    ]
};

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

Request      

POST api/interview/situational/save_answer

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

interviewee_id   string   

The id of an existing record in the interviewees table. Example: architecto

question_id   string   

The id of an existing record in the situational_questions table. Example: architecto

answer   object[]  optional  
id   string   

The id of an existing record in the sit_question_options table. Example: architecto

step   string   

Example: architecto

GET api/interview/situational/get_result/{interviewee_id}

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/interview/situational/get_result/{interviewee_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

interviewee_id   integer   

The ID of the interviewee. Example: 16

GET api/interview/conversation/questions

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/interview/conversation/questions

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/interview/conversation/create_question

Example request:
curl --request POST \
    "http://localhost/api/interview/conversation/create_question" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"question\": \"architecto\",
    \"order\": 4326.41688
}"
const url = new URL(
    "http://localhost/api/interview/conversation/create_question"
);

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

let body = {
    "question": "architecto",
    "order": 4326.41688
};

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

Request      

POST api/interview/conversation/create_question

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

question   string   

Example: architecto

order   number   

Example: 4326.41688

PUT api/interview/conversation/questions/{question_id}

Example request:
curl --request PUT \
    "http://localhost/api/interview/conversation/questions/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"question\": \"architecto\",
    \"order\": 4326.41688
}"
const url = new URL(
    "http://localhost/api/interview/conversation/questions/16"
);

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

let body = {
    "question": "architecto",
    "order": 4326.41688
};

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

Request      

PUT api/interview/conversation/questions/{question_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

question_id   integer   

The ID of the question. Example: 16

Body Parameters

question   string   

Example: architecto

order   number   

Example: 4326.41688

DELETE api/interview/conversation/questions/{question_id}

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

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

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

Request      

DELETE api/interview/conversation/questions/{question_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

question_id   integer   

The ID of the question. Example: 16

GET api/interview/conversation/get_result/{interviewee_id}

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/interview/conversation/get_result/{interviewee_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

interviewee_id   integer   

The ID of the interviewee. Example: 16

GET api/interview/overview/{interviewee_id}

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/interview/overview/{interviewee_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

interviewee_id   integer   

The ID of the interviewee. Example: 16

POST api/interview/botman

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

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

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

Request      

POST api/interview/botman

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/interview/compute-results

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/interview/compute-results

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Handle an incoming password reset link request.

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

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

let body = {
    "email": "gbailey@example.net"
};

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

Request      

POST api/auth/forgot-password

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string   

Must be a valid email address. Example: gbailey@example.net

Handle an incoming new password request.

Example request:
curl --request POST \
    "http://localhost/api/auth/reset-password" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"token\": \"architecto\",
    \"email\": \"zbailey@example.net\",
    \"password\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/auth/reset-password"
);

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

let body = {
    "token": "architecto",
    "email": "zbailey@example.net",
    "password": "architecto"
};

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

Request      

POST api/auth/reset-password

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

token   string   

Example: architecto

email   string   

Must be a valid email address. Example: zbailey@example.net

password   string   

Example: architecto

Update the user's password.

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

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

let body = {
    "current_password": "architecto",
    "password": "architecto"
};

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

Request      

PUT api/auth/password/change

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

current_password   string   

Example: architecto

password   string   

Example: architecto

Instructor management

APIs for managing instructors

Create a new user account for an instructor.

Example request:
curl --request POST \
    "http://localhost/api/instructor/register" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "username=b"\
    --form "firstname=b"\
    --form "lastname=n"\
    --form "email=ashly64@example.com"\
    --form "phone=architecto"\
    --form "country=architecto"\
    --form "password=architecto"\
    --form "avatar=@C:\Users\Augustine\AppData\Local\Temp\php12A.tmp" 
const url = new URL(
    "http://localhost/api/instructor/register"
);

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

const body = new FormData();
body.append('username', 'b');
body.append('firstname', 'b');
body.append('lastname', 'n');
body.append('email', 'ashly64@example.com');
body.append('phone', 'architecto');
body.append('country', 'architecto');
body.append('password', 'architecto');
body.append('avatar', document.querySelector('input[name="avatar"]').files[0]);

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

Request      

POST api/instructor/register

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

username   string  optional  

Must not be greater than 100 characters. Example: b

avatar   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php12A.tmp

firstname   string   

Must not be greater than 100 characters. Example: b

lastname   string   

Must not be greater than 100 characters. Example: n

email   string   

Must be a valid email address. Must not be greater than 100 characters. Example: ashly64@example.com

phone   string   

Example: architecto

country   string   

Example: architecto

password   string   

Example: architecto

Upload instructor activation information.

Example request:
curl --request POST \
    "http://localhost/api/instructor/activate-account" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "user_id=architecto"\
    --form "national_id=architecto"\
    --form "education_level=basic_education"\
    --form "occupation=architecto"\
    --form "expertise=architecto"\
    --form "resume=@C:\Users\Augustine\AppData\Local\Temp\php13A.tmp" 
const url = new URL(
    "http://localhost/api/instructor/activate-account"
);

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

const body = new FormData();
body.append('user_id', 'architecto');
body.append('national_id', 'architecto');
body.append('education_level', 'basic_education');
body.append('occupation', 'architecto');
body.append('expertise', 'architecto');
body.append('resume', document.querySelector('input[name="resume"]').files[0]);

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

Request      

POST api/instructor/activate-account

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

user_id   string   

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

national_id   string   

Example: architecto

education_level   string   

Example: basic_education

Must be one of:
  • basic_education
  • secondary_education
  • higher_education_bachelors_degree
  • post_graduate_masters_degree
  • post_graduate_phd
occupation   string   

Example: architecto

expertise   string   

Example: architecto

resume   file   

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

Generate access code for instructor

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

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

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

Request      

POST api/instructor/{instructor_user_id}/access/generate-code

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

instructor_user_id   string   

The ID of the instructor user. Example: architecto

Verify instructor access code

Example request:
curl --request POST \
    "http://localhost/api/instructor/architecto/access/verify-code" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/instructor/architecto/access/verify-code"
);

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

let body = {
    "code": "architecto"
};

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

Request      

POST api/instructor/{user_id}/access/verify-code

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   string   

The ID of the user. Example: architecto

Body Parameters

code   string   

The code of an existing record in the instructors_access table. Example: architecto

Update specified instructor's user profile .

Example request:
curl --request PUT \
    "http://localhost/api/instructor/profile/update/architecto" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "username=b"\
    --form "firstname=n"\
    --form "lastname=g"\
    --form "email=rowan.gulgowski@example.com"\
    --form "phone=architecto"\
    --form "country=architecto"\
    --form "avatar=@C:\Users\Augustine\AppData\Local\Temp\php16A.tmp" 
const url = new URL(
    "http://localhost/api/instructor/profile/update/architecto"
);

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

const body = new FormData();
body.append('username', 'b');
body.append('firstname', 'n');
body.append('lastname', 'g');
body.append('email', 'rowan.gulgowski@example.com');
body.append('phone', 'architecto');
body.append('country', 'architecto');
body.append('avatar', document.querySelector('input[name="avatar"]').files[0]);

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

Request      

PUT api/instructor/profile/update/{instructor_user_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

instructor_user_id   string   

The ID of the instructor user. Example: architecto

Body Parameters

avatar   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php16A.tmp

username   string   

Must not be greater than 100 characters. Example: b

firstname   string   

Must not be greater than 100 characters. Example: n

lastname   string   

Must not be greater than 100 characters. Example: g

email   string   

Must be a valid email address. Must not be greater than 100 characters. Example: rowan.gulgowski@example.com

phone   string   

Example: architecto

country   string   

Example: architecto

Update specified instructor's user profile .

Example request:
curl --request PATCH \
    "http://localhost/api/instructor/profile/update/architecto" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "username=b"\
    --form "firstname=n"\
    --form "lastname=g"\
    --form "email=rowan.gulgowski@example.com"\
    --form "phone=architecto"\
    --form "country=architecto"\
    --form "avatar=@C:\Users\Augustine\AppData\Local\Temp\php17B.tmp" 
const url = new URL(
    "http://localhost/api/instructor/profile/update/architecto"
);

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

const body = new FormData();
body.append('username', 'b');
body.append('firstname', 'n');
body.append('lastname', 'g');
body.append('email', 'rowan.gulgowski@example.com');
body.append('phone', 'architecto');
body.append('country', 'architecto');
body.append('avatar', document.querySelector('input[name="avatar"]').files[0]);

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

Request      

PATCH api/instructor/profile/update/{instructor_user_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

instructor_user_id   string   

The ID of the instructor user. Example: architecto

Body Parameters

avatar   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php17B.tmp

username   string   

Must not be greater than 100 characters. Example: b

firstname   string   

Must not be greater than 100 characters. Example: n

lastname   string   

Must not be greater than 100 characters. Example: g

email   string   

Must be a valid email address. Must not be greater than 100 characters. Example: rowan.gulgowski@example.com

phone   string   

Example: architecto

country   string   

Example: architecto

Upload instructor activation information.

Example request:
curl --request POST \
    "http://localhost/api/instructor/profile" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "user_id=architecto"\
    --form "national_id=architecto"\
    --form "education_level=post_graduate_phd"\
    --form "occupation=architecto"\
    --form "expertise=architecto"\
    --form "resume=@C:\Users\Augustine\AppData\Local\Temp\php17C.tmp" 
const url = new URL(
    "http://localhost/api/instructor/profile"
);

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

const body = new FormData();
body.append('user_id', 'architecto');
body.append('national_id', 'architecto');
body.append('education_level', 'post_graduate_phd');
body.append('occupation', 'architecto');
body.append('expertise', 'architecto');
body.append('resume', document.querySelector('input[name="resume"]').files[0]);

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

Request      

POST api/instructor/profile

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

user_id   string   

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

national_id   string   

Example: architecto

education_level   string   

Example: post_graduate_phd

Must be one of:
  • basic_education
  • secondary_education
  • higher_education_bachelors_degree
  • post_graduate_masters_degree
  • post_graduate_phd
occupation   string   

Example: architecto

expertise   string   

Example: architecto

resume   file   

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

Display the specified instructor.

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Instructor] architecto"
}
 

Request      

GET api/instructor/profile/{instructor_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

instructor_user_id   string   

The ID of the instructor user. Example: architecto

Update the specified instructor verification details.

Example request:
curl --request PUT \
    "http://localhost/api/instructor/profile/architecto" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "user_id=architecto"\
    --form "national_id=architecto"\
    --form "education_level=post_graduate_masters_degree"\
    --form "occupation=architecto"\
    --form "expertise=architecto"\
    --form "is_verified="\
    --form "resume=@C:\Users\Augustine\AppData\Local\Temp\php19C.tmp" 
const url = new URL(
    "http://localhost/api/instructor/profile/architecto"
);

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

const body = new FormData();
body.append('user_id', 'architecto');
body.append('national_id', 'architecto');
body.append('education_level', 'post_graduate_masters_degree');
body.append('occupation', 'architecto');
body.append('expertise', 'architecto');
body.append('is_verified', '');
body.append('resume', document.querySelector('input[name="resume"]').files[0]);

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

Request      

PUT api/instructor/profile/{instructor_user_id}

PATCH api/instructor/profile/{instructor_user_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

instructor_user_id   string   

The ID of the instructor user. Example: architecto

Body Parameters

user_id   string   

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

national_id   string   

Example: architecto

education_level   string   

Example: post_graduate_masters_degree

Must be one of:
  • basic_education
  • secondary_education
  • higher_education_bachelors_degree
  • post_graduate_masters_degree
  • post_graduate_phd
occupation   string   

Example: architecto

expertise   string   

Example: architecto

resume   file   

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

is_verified   boolean   

Example: false

Display a listing of the 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 (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/admin/instructors

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Upload instructor activation information.

Example request:
curl --request POST \
    "http://localhost/api/admin/instructors" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "user_id=architecto"\
    --form "national_id=architecto"\
    --form "education_level=post_graduate_phd"\
    --form "occupation=architecto"\
    --form "expertise=architecto"\
    --form "resume=@C:\Users\Augustine\AppData\Local\Temp\php682.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('user_id', 'architecto');
body.append('national_id', 'architecto');
body.append('education_level', 'post_graduate_phd');
body.append('occupation', 'architecto');
body.append('expertise', 'architecto');
body.append('resume', document.querySelector('input[name="resume"]').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

user_id   string   

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

national_id   string   

Example: architecto

education_level   string   

Example: post_graduate_phd

Must be one of:
  • basic_education
  • secondary_education
  • higher_education_bachelors_degree
  • post_graduate_masters_degree
  • post_graduate_phd
occupation   string   

Example: architecto

expertise   string   

Example: architecto

resume   file   

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

Display the specified instructor.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/admin/instructors/{instructor_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

instructor_user_id   string   

The ID of the instructor user. Example: architecto

Update the specified instructor verification details.

Example request:
curl --request PUT \
    "http://localhost/api/admin/instructors/architecto" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "user_id=architecto"\
    --form "national_id=architecto"\
    --form "education_level=secondary_education"\
    --form "occupation=architecto"\
    --form "expertise=architecto"\
    --form "is_verified="\
    --form "resume=@C:\Users\Augustine\AppData\Local\Temp\php693.tmp" 
const url = new URL(
    "http://localhost/api/admin/instructors/architecto"
);

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

const body = new FormData();
body.append('user_id', 'architecto');
body.append('national_id', 'architecto');
body.append('education_level', 'secondary_education');
body.append('occupation', 'architecto');
body.append('expertise', 'architecto');
body.append('is_verified', '');
body.append('resume', document.querySelector('input[name="resume"]').files[0]);

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

Request      

PUT api/admin/instructors/{instructor_user_id}

PATCH api/admin/instructors/{instructor_user_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

instructor_user_id   string   

The ID of the instructor user. Example: architecto

Body Parameters

user_id   string   

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

national_id   string   

Example: architecto

education_level   string   

Example: secondary_education

Must be one of:
  • basic_education
  • secondary_education
  • higher_education_bachelors_degree
  • post_graduate_masters_degree
  • post_graduate_phd
occupation   string   

Example: architecto

expertise   string   

Example: architecto

resume   file   

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

is_verified   boolean   

Example: false

Remove the specified resource from storage.

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

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

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

Request      

DELETE api/admin/instructors/{instructor_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

instructor_user_id   string   

The ID of the instructor user. Example: architecto

Display a listing of the instructors.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/admin/instructors/unverified-instructor

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Leader Board

APIs for managing Leader board

Get leader board

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

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: 39
access-control-allow-origin: *
 

{
    "allTime": [],
    "month": []
}
 

Request      

GET api/student/leaderboard/fetch-leaderboard

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Get leader board

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/admin/leaderboard/fetch-leaderboard

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/admin/leaderboard/all-time

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/admin/leaderboard/all-time

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Notification management

APIs for managing user notifications

Get number of unread notifications

Example request:
curl --request GET \
    --get "http://localhost/api/student/notifications/fetch-notification-count/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/notifications/fetch-notification-count/architecto"
);

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

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

Example response (404):

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

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

Request      

GET api/student/notifications/fetch-notification-count/{user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   string   

The ID of the user. Example: architecto

Fetch all user notifications

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

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

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

Example response (404):

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

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

Request      

GET api/student/notifications/fetch-notifications/{user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   string   

The ID of the user. Example: architecto

Mark user notification as read

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

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

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

Request      

POST api/student/notifications/read/{notification_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

notification_id   string   

The ID of the notification. Example: architecto

Delete user notification

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

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

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

Request      

POST api/student/notifications/delete/{notification_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

notification_id   string   

The ID of the notification. Example: architecto

Get number of unread notifications

Example request:
curl --request GET \
    --get "http://localhost/api/instructor/notifications/fetch-notification-count/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/instructor/notifications/fetch-notification-count/architecto"
);

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

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

Example response (404):

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

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

Request      

GET api/instructor/notifications/fetch-notification-count/{user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   string   

The ID of the user. Example: architecto

Fetch all user notifications

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

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

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

Example response (404):

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

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

Request      

GET api/instructor/notifications/fetch-notifications/{user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   string   

The ID of the user. Example: architecto

Mark user notification as read

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

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

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

Request      

POST api/instructor/notifications/read/{notification_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

notification_id   string   

The ID of the notification. Example: architecto

Delete user notification

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

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

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

Request      

POST api/instructor/notifications/delete/{notification_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

notification_id   string   

The ID of the notification. Example: architecto

OTP endpoints

APIs for generating and verifying user OTP's

generate otp

Generate otp token and send token to user's device

Example request:
curl --request POST \
    "http://localhost/api/otp/generate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"user_id\": \"c0beb475-fecf-46b1-b967-820f7d075cca\",
    \"channel\": \"sms\",
    \"device_id\": \"+233978456321\"
}"
const url = new URL(
    "http://localhost/api/otp/generate"
);

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

let body = {
    "user_id": "c0beb475-fecf-46b1-b967-820f7d075cca",
    "channel": "sms",
    "device_id": "+233978456321"
};

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

Request      

POST api/otp/generate

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

user_id   string   

The id of the user. Example: c0beb475-fecf-46b1-b967-820f7d075cca

channel   string   

The channel which the users want to revieve the token. Example: sms

device_id   string   

The email address/phone number which the users want the token sent to. Example: +233978456321

verify otp

Verify otp token for validity and mark token as verified

Example request:
curl --request POST \
    "http://localhost/api/otp/verify" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"otp_token\": \"151439\",
    \"user_id\": \"c0beb475-fecf-46b1-b967-820f7d075cca\"
}"
const url = new URL(
    "http://localhost/api/otp/verify"
);

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

let body = {
    "otp_token": "151439",
    "user_id": "c0beb475-fecf-46b1-b967-820f7d075cca"
};

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

Request      

POST api/otp/verify

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

otp_token   string   

The otp token sent to the user's device. Example: 151439

user_id   string   

The id of the user. Example: c0beb475-fecf-46b1-b967-820f7d075cca

Payment management

APIs for payment

Initialize Rave Course payment process

Example request:
curl --request POST \
    "http://localhost/api/payment/rave/course-payment" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"currency\": \"architecto\",
    \"amount\": 4326.41688,
    \"name\": \"architecto\",
    \"email\": \"zbailey@example.net\",
    \"phone\": \"architecto\",
    \"basket_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/payment/rave/course-payment"
);

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

let body = {
    "currency": "architecto",
    "amount": 4326.41688,
    "name": "architecto",
    "email": "zbailey@example.net",
    "phone": "architecto",
    "basket_id": "architecto"
};

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

Request      

POST api/payment/rave/course-payment

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

currency   string   

Example: architecto

amount   number   

Example: 4326.41688

name   string   

Example: architecto

email   string   

Must be a valid email address. Example: zbailey@example.net

phone   string  optional  

Example: architecto

basket_id   string   

The id of an existing record in the course_baskets table. Example: architecto

Flutter wave callback for payment verification

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/payment/rave/course-payment-verify

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Scholarship applications management

APIs for managing student scholarship applications

Display a listing of the resource.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/scholarship

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Create a newl scholarship application.

Example request:
curl --request POST \
    "http://localhost/api/scholarship" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"fullname\": \"architecto\",
    \"date\": \"architecto\",
    \"about_applicant\": \"architecto\",
    \"strength_weakness\": \"architecto\",
    \"reason_to_grant\": \"architecto\",
    \"career_goals\": \"architecto\",
    \"commitment\": \"architecto\",
    \"mistakes\": \"architecto\",
    \"involved_activities\": \"architecto\",
    \"personal_achievement\": \"architecto\",
    \"additional_comment\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/scholarship"
);

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

let body = {
    "fullname": "architecto",
    "date": "architecto",
    "about_applicant": "architecto",
    "strength_weakness": "architecto",
    "reason_to_grant": "architecto",
    "career_goals": "architecto",
    "commitment": "architecto",
    "mistakes": "architecto",
    "involved_activities": "architecto",
    "personal_achievement": "architecto",
    "additional_comment": "architecto"
};

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

Request      

POST api/scholarship

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

fullname   string   

Example: architecto

date   string   

Example: architecto

about_applicant   string   

Example: architecto

strength_weakness   string   

Example: architecto

reason_to_grant   string   

Example: architecto

career_goals   string   

Example: architecto

commitment   string   

Example: architecto

mistakes   string   

Example: architecto

involved_activities   string   

Example: architecto

personal_achievement   string   

Example: architecto

additional_comment   string  optional  

Example: architecto

Display the specified application.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/scholarship/{application_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

application_id   integer   

The ID of the application. Example: 16

Update the specified application

Example request:
curl --request PUT \
    "http://localhost/api/scholarship/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_approved\": true,
    \"date_approved\": \"2025-08-22T12:15:31\",
    \"status\": \"pending\"
}"
const url = new URL(
    "http://localhost/api/scholarship/16"
);

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

let body = {
    "is_approved": true,
    "date_approved": "2025-08-22T12:15:31",
    "status": "pending"
};

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

Request      

PUT api/scholarship/{application_id}

PATCH api/scholarship/{application_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

application_id   integer   

The ID of the application. Example: 16

Body Parameters

is_approved   boolean   

'fullname' => ['sometimes','required','string'], 'date' => ['sometimes','required','date'], 'about_applicant' => ['sometimes','required','string',new MaxWords(200)], 'strength_weakness' => ['sometimes','required','string',new MaxWords(200)], 'reason_to_grant' => ['sometimes','required','string',new MaxWords(200)], 'career_goals' => ['sometimes','required','string',new MaxWords(200)], 'commitment' => ['sometimes','required','string',new MaxWords(200)], 'mistakes' => ['sometimes','required','string',new MaxWords(200)], 'involved_activities' => ['sometimes','required','string',new MaxWords(200)], 'personal_achievement' => ['sometimes','required','string',new MaxWords(200)], 'additional_comment' => ['nullable','string',new MaxWords(200)],. Example: true

date_approved   string  optional  

Must be a valid date. Example: 2025-08-22T12:15:31

status   string   

Example: pending

Must be one of:
  • pending
  • rejected
  • approved

Delet the specified application.

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

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

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

Request      

DELETE api/scholarship/{application_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

application_id   integer   

The ID of the application. Example: 16

Display a listing of the resource.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/admin/scholarship

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Create a newl scholarship application.

Example request:
curl --request POST \
    "http://localhost/api/admin/scholarship" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"fullname\": \"architecto\",
    \"date\": \"architecto\",
    \"about_applicant\": \"architecto\",
    \"strength_weakness\": \"architecto\",
    \"reason_to_grant\": \"architecto\",
    \"career_goals\": \"architecto\",
    \"commitment\": \"architecto\",
    \"mistakes\": \"architecto\",
    \"involved_activities\": \"architecto\",
    \"personal_achievement\": \"architecto\",
    \"additional_comment\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/scholarship"
);

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

let body = {
    "fullname": "architecto",
    "date": "architecto",
    "about_applicant": "architecto",
    "strength_weakness": "architecto",
    "reason_to_grant": "architecto",
    "career_goals": "architecto",
    "commitment": "architecto",
    "mistakes": "architecto",
    "involved_activities": "architecto",
    "personal_achievement": "architecto",
    "additional_comment": "architecto"
};

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

Request      

POST api/admin/scholarship

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

fullname   string   

Example: architecto

date   string   

Example: architecto

about_applicant   string   

Example: architecto

strength_weakness   string   

Example: architecto

reason_to_grant   string   

Example: architecto

career_goals   string   

Example: architecto

commitment   string   

Example: architecto

mistakes   string   

Example: architecto

involved_activities   string   

Example: architecto

personal_achievement   string   

Example: architecto

additional_comment   string  optional  

Example: architecto

Display the specified application.

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

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

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

Example response (429):

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

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/admin/scholarship/{application_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

application_slug   string   

The slug of the application. Example: architecto

Update the specified application

Example request:
curl --request PUT \
    "http://localhost/api/admin/scholarship/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_approved\": true,
    \"date_approved\": \"2025-08-22T12:15:31\",
    \"status\": \"approved\"
}"
const url = new URL(
    "http://localhost/api/admin/scholarship/architecto"
);

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

let body = {
    "is_approved": true,
    "date_approved": "2025-08-22T12:15:31",
    "status": "approved"
};

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

Request      

PUT api/admin/scholarship/{application_slug}

PATCH api/admin/scholarship/{application_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

application_slug   string   

The slug of the application. Example: architecto

Body Parameters

is_approved   boolean   

'fullname' => ['sometimes','required','string'], 'date' => ['sometimes','required','date'], 'about_applicant' => ['sometimes','required','string',new MaxWords(200)], 'strength_weakness' => ['sometimes','required','string',new MaxWords(200)], 'reason_to_grant' => ['sometimes','required','string',new MaxWords(200)], 'career_goals' => ['sometimes','required','string',new MaxWords(200)], 'commitment' => ['sometimes','required','string',new MaxWords(200)], 'mistakes' => ['sometimes','required','string',new MaxWords(200)], 'involved_activities' => ['sometimes','required','string',new MaxWords(200)], 'personal_achievement' => ['sometimes','required','string',new MaxWords(200)], 'additional_comment' => ['nullable','string',new MaxWords(200)],. Example: true

date_approved   string  optional  

Must be a valid date. Example: 2025-08-22T12:15:31

status   string   

Example: approved

Must be one of:
  • pending
  • rejected
  • approved

Delet the specified application.

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

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

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

Request      

DELETE api/admin/scholarship/{application_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

application_slug   string   

The slug of the application. Example: architecto

Student Achievement

APIs for managing student achievements

Get Certificates for specified student

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Student] architecto"
}
 

Request      

GET api/student/achievements/fetch-certificates/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Get Prizes for specified Students

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Student] architecto"
}
 

Request      

GET api/student/achievements/fetch-prizes/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

GET api/student/achievements/certificates/{certificate_slug}

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\CourseCertificate] architecto"
}
 

Request      

GET api/student/achievements/certificates/{certificate_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

certificate_slug   string   

The slug of the certificate. Example: architecto

Student Learning

APIs for managing student learning

Fetch specified student's enrolled courses

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Student] architecto"
}
 

Request      

GET api/student/learning/fetch-enrolled-courses/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

getEnrolledCurriculum

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

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: 46
access-control-allow-origin: *
 

{
    "message": "Server Error"
}
 

Request      

GET api/student/learning/fetch-curriculum/{course_id}/{user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_id   string   

The ID of the course. Example: architecto

user_id   string   

The ID of the user. Example: architecto

completeLesson

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

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

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

Request      

POST api/student/learning/complete-lesson

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

getCourseFiles

Example request:
curl --request GET \
    --get "http://localhost/api/student/learning/fetch-course-files/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/learning/fetch-course-files/architecto"
);

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: 45
access-control-allow-origin: *
 

[]
 

Request      

GET api/student/learning/fetch-course-files/{course_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_id   string   

The ID of the course. Example: architecto

Student Learning Course management

Api for managing student favorite courses

Fetch specified student's saved course list

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Student] architecto"
}
 

Request      

GET api/student/courses/fetch-saved-course/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Add course to specified student's saved course list

Example request:
curl --request POST \
    "http://localhost/api/student/courses/saved-course/architecto/add" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"course_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/student/courses/saved-course/architecto/add"
);

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

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

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

Request      

POST api/student/courses/saved-course/{student_user_id}/add

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Body Parameters

course_id   string   

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

Fetch course of interest to specified student

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Student] architecto"
}
 

Request      

GET api/student/courses/fetch-fav-courses/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Fetch courses not of interest to specified student

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

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

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

Example response (404):

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

{
    "message": "No query results for model [App\\Models\\Student] architecto"
}
 

Request      

GET api/student/courses/fetch-other-courses/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

GET api/student/courses/fetch-curriculum/{course_id}/{curriculum?}

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

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

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

Example response (404):

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

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

Request      

GET api/student/courses/fetch-curriculum/{course_id}/{curriculum?}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_id   integer   

The ID of the course. Example: 16

curriculum   string  optional  

Example: architecto

Get specified course details for specified student

Example request:
curl --request GET \
    --get "http://localhost/api/student/courses/16/fetch-course-overview/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/courses/16/fetch-course-overview/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 50
access-control-allow-origin: *
 

"Resource not found"
 

Request      

GET api/student/courses/{user_id}/fetch-course-overview/{course_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   integer   

The ID of the user. Example: 16

course_slug   string   

The slug of the course. Example: architecto

Get student progress for course

Example request:
curl --request GET \
    --get "http://localhost/api/student/course-progress/architecto/fetch-progress/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/course-progress/architecto/fetch-progress/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 48
access-control-allow-origin: *
 

{
    "message": "No query results for model [App\\Models\\Student] architecto"
}
 

Request      

GET api/student/course-progress/{course_id}/fetch-progress/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_id   string   

The ID of the course. Example: architecto

student_user_id   string   

The ID of the student user. Example: architecto

Add new curriculum progress for student course progress

Example request:
curl --request POST \
    "http://localhost/api/student/course-progress/track-curriculum-progress/start" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"student_id\": \"architecto\",
    \"course_id\": \"architecto\",
    \"curriculum_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/student/course-progress/track-curriculum-progress/start"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "student_id": "architecto",
    "course_id": "architecto",
    "curriculum_id": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/student/course-progress/track-curriculum-progress/start

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

student_id   string   

The user_id of an existing record in the students table. Example: architecto

course_id   string   

The id of an existing record in the courses table. Example: architecto

curriculum_id   string   

The id of an existing record in the course_curricula table. Example: architecto

Mark student course curriculum progress as completed

Example request:
curl --request POST \
    "http://localhost/api/student/course-progress/track-curriculum-progress/end" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"student_id\": \"architecto\",
    \"course_id\": \"architecto\",
    \"curriculum_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/student/course-progress/track-curriculum-progress/end"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "student_id": "architecto",
    "course_id": "architecto",
    "curriculum_id": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/student/course-progress/track-curriculum-progress/end

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

student_id   string   

The user_id of an existing record in the students table. Example: architecto

course_id   string   

The id of an existing record in the courses table. Example: architecto

curriculum_id   string   

The id of an existing record in the course_curricula table. Example: architecto

Fetch course study progress of student

Example request:
curl --request GET \
    --get "http://localhost/api/instructor/courses/performance/architecto/fetch-progress/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/instructor/courses/performance/architecto/fetch-progress/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 7
access-control-allow-origin: *
 

{
    "message": "No query results for model [App\\Models\\Course] architecto"
}
 

Request      

GET api/instructor/courses/performance/{course_slug}/fetch-progress/{student_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_slug   string   

The slug of the course. Example: architecto

student_id   string   

The ID of the student. Example: architecto

Sudent management

APIs for managing student profile

Register a new student account.

Example request:
curl --request POST \
    "http://localhost/api/student/register" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "username=b"\
    --form "firstname=b"\
    --form "lastname=n"\
    --form "email=ashly64@example.com"\
    --form "phone=architecto"\
    --form "country=architecto"\
    --form "password=architecto"\
    --form "plan="\
    --form "avatar=@C:\Users\Augustine\AppData\Local\Temp\phpFDCC.tmp" 
const url = new URL(
    "http://localhost/api/student/register"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('username', 'b');
body.append('firstname', 'b');
body.append('lastname', 'n');
body.append('email', 'ashly64@example.com');
body.append('phone', 'architecto');
body.append('country', 'architecto');
body.append('password', 'architecto');
body.append('plan', '');
body.append('avatar', document.querySelector('input[name="avatar"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/student/register

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

username   string  optional  

Must not be greater than 100 characters. Example: b

avatar   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\phpFDCC.tmp

firstname   string   

Must not be greater than 100 characters. Example: b

lastname   string   

Must not be greater than 100 characters. Example: n

email   string   

Must be a valid email address. Must not be greater than 100 characters. Example: ashly64@example.com

phone   string   

Example: architecto

country   string   

Example: architecto

password   string   

Example: architecto

plan   string   
Must be one of:
  • solo_learner
  • institution
  • corporate

Get student profile using email

Example request:
curl --request GET \
    --get "http://localhost/api/student/profile/fetch-profile/gbailey@example.net?email=gbailey%40example.net" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/profile/fetch-profile/gbailey@example.net"
);

const params = {
    "email": "gbailey@example.net",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

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: *
 

{}
 

Request      

GET api/student/profile/fetch-profile/{email}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

email   string   

Example: gbailey@example.net

Query Parameters

email   string  optional  

Example: gbailey@example.net

GET api/student/profile/{student_user_id}/institutions

Example request:
curl --request GET \
    --get "http://localhost/api/student/profile/architecto/institutions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/profile/architecto/institutions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 56
access-control-allow-origin: *
 

{
    "message": "No query results for model [App\\Models\\Student] architecto"
}
 

Request      

GET api/student/profile/{student_user_id}/institutions

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Display the specified student profile.

Example request:
curl --request GET \
    --get "http://localhost/api/student/profile/architecto?student=architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/profile/architecto"
);

const params = {
    "student": "architecto",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 55
access-control-allow-origin: *
 

{
    "message": "No query results for model [App\\Models\\Student] architecto"
}
 

Request      

GET api/student/profile/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Query Parameters

student   string  optional  

string. Student user profile id Example: architecto

Update the specified student profile.

Example request:
curl --request PUT \
    "http://localhost/api/student/profile/architecto?student=architecto" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "username=b"\
    --form "firstname=n"\
    --form "lastname=g"\
    --form "email=rowan.gulgowski@example.com"\
    --form "phone=architecto"\
    --form "country=architecto"\
    --form "plan=institution"\
    --form "avatar=@C:\Users\Augustine\AppData\Local\Temp\phpFE1C.tmp" 
const url = new URL(
    "http://localhost/api/student/profile/architecto"
);

const params = {
    "student": "architecto",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('username', 'b');
body.append('firstname', 'n');
body.append('lastname', 'g');
body.append('email', 'rowan.gulgowski@example.com');
body.append('phone', 'architecto');
body.append('country', 'architecto');
body.append('plan', 'institution');
body.append('avatar', document.querySelector('input[name="avatar"]').files[0]);

fetch(url, {
    method: "PUT",
    headers,
    body,
}).then(response => response.json());

Request      

PUT api/student/profile/{student_user_id}

PATCH api/student/profile/{student_user_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Query Parameters

student   string  optional  

string. Student user profile id Example: architecto

Body Parameters

avatar   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\phpFE1C.tmp

username   string   

Must not be greater than 100 characters. Example: b

firstname   string   

Must not be greater than 100 characters. Example: n

lastname   string   

Must not be greater than 100 characters. Example: g

email   string   

Must be a valid email address. Must not be greater than 100 characters. Example: rowan.gulgowski@example.com

phone   string   

Example: architecto

country   string   

Example: architecto

plan   string   

Example: institution

Must be one of:
  • solo_learner
  • institution
  • corporate

Remove the specified student profile.

Example request:
curl --request DELETE \
    "http://localhost/api/student/profile/architecto?student=architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/profile/architecto"
);

const params = {
    "student": "architecto",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/student/profile/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Query Parameters

student   string  optional  

string. Student user profile id Example: architecto

Display a listing of all student profiles.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/learners" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/learners"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (429):

Show headers
x-ratelimit-limit: 60
x-ratelimit-remaining: 0
retry-after: 58
x-ratelimit-reset: 1755864989
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/admin/learners

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Register a new student account.

Example request:
curl --request POST \
    "http://localhost/api/admin/learners" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "username=b"\
    --form "firstname=b"\
    --form "lastname=n"\
    --form "email=ashly64@example.com"\
    --form "phone=architecto"\
    --form "country=architecto"\
    --form "password=architecto"\
    --form "plan="\
    --form "avatar=@C:\Users\Augustine\AppData\Local\Temp\php650.tmp" 
const url = new URL(
    "http://localhost/api/admin/learners"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('username', 'b');
body.append('firstname', 'b');
body.append('lastname', 'n');
body.append('email', 'ashly64@example.com');
body.append('phone', 'architecto');
body.append('country', 'architecto');
body.append('password', 'architecto');
body.append('plan', '');
body.append('avatar', document.querySelector('input[name="avatar"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/admin/learners

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

username   string  optional  

Must not be greater than 100 characters. Example: b

avatar   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php650.tmp

firstname   string   

Must not be greater than 100 characters. Example: b

lastname   string   

Must not be greater than 100 characters. Example: n

email   string   

Must be a valid email address. Must not be greater than 100 characters. Example: ashly64@example.com

phone   string   

Example: architecto

country   string   

Example: architecto

password   string   

Example: architecto

plan   string   
Must be one of:
  • solo_learner
  • institution
  • corporate

Display the specified student profile.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/learners/architecto?student=architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/learners/architecto"
);

const params = {
    "student": "architecto",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (429):

Show headers
x-ratelimit-limit: 60
x-ratelimit-remaining: 0
retry-after: 58
x-ratelimit-reset: 1755864989
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/admin/learners/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Query Parameters

student   string  optional  

string. Student user profile id Example: architecto

Update the specified student profile.

Example request:
curl --request PUT \
    "http://localhost/api/admin/learners/architecto?student=architecto" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "username=b"\
    --form "firstname=n"\
    --form "lastname=g"\
    --form "email=rowan.gulgowski@example.com"\
    --form "phone=architecto"\
    --form "country=architecto"\
    --form "plan=corporate"\
    --form "avatar=@C:\Users\Augustine\AppData\Local\Temp\php661.tmp" 
const url = new URL(
    "http://localhost/api/admin/learners/architecto"
);

const params = {
    "student": "architecto",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('username', 'b');
body.append('firstname', 'n');
body.append('lastname', 'g');
body.append('email', 'rowan.gulgowski@example.com');
body.append('phone', 'architecto');
body.append('country', 'architecto');
body.append('plan', 'corporate');
body.append('avatar', document.querySelector('input[name="avatar"]').files[0]);

fetch(url, {
    method: "PUT",
    headers,
    body,
}).then(response => response.json());

Request      

PUT api/admin/learners/{student_user_id}

PATCH api/admin/learners/{student_user_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Query Parameters

student   string  optional  

string. Student user profile id Example: architecto

Body Parameters

avatar   file   

Must be an image. Example: C:\Users\Augustine\AppData\Local\Temp\php661.tmp

username   string   

Must not be greater than 100 characters. Example: b

firstname   string   

Must not be greater than 100 characters. Example: n

lastname   string   

Must not be greater than 100 characters. Example: g

email   string   

Must be a valid email address. Must not be greater than 100 characters. Example: rowan.gulgowski@example.com

phone   string   

Example: architecto

country   string   

Example: architecto

plan   string   

Example: corporate

Must be one of:
  • solo_learner
  • institution
  • corporate

Remove the specified student profile.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/learners/architecto?student=architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/learners/architecto"
);

const params = {
    "student": "architecto",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/admin/learners/{student_user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_user_id   string   

The ID of the student user. Example: architecto

Query Parameters

student   string  optional  

string. Student user profile id Example: architecto

POST api/admin/learners/invite

Example request:
curl --request POST \
    "http://localhost/api/admin/learners/invite" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "file=@C:\Users\Augustine\AppData\Local\Temp\php681.tmp" 
const url = new URL(
    "http://localhost/api/admin/learners/invite"
);

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/learners/invite

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

file   file   

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php681.tmp

Test Result management

Api for managing student test result

get test result for student

Example request:
curl --request GET \
    --get "http://localhost/api/student/learning/test/16/student/architecto/result" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/learning/test/16/student/architecto/result"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 43
access-control-allow-origin: *
 

{
    "message": "No query results for model [App\\Models\\CurriculumTest] 16"
}
 

Request      

GET api/student/learning/test/{test_id}/student/{student_id}/result

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

test_id   integer   

The ID of the test. Example: 16

student_id   string   

The ID of the student. Example: architecto

get test result for student

Example request:
curl --request GET \
    --get "http://localhost/api/instructor/courses/performance/test-result/16/student/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/instructor/courses/performance/test-result/16/student/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 6
access-control-allow-origin: *
 

{
    "message": "No query results for model [App\\Models\\CurriculumTest] 16"
}
 

Request      

GET api/instructor/courses/performance/test-result/{test_id}/student/{student_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

test_id   integer   

The ID of the test. Example: 16

student_id   string   

The ID of the student. Example: architecto

POST api/instructor/courses/performance/submission-review/{submission_id}

Example request:
curl --request POST \
    "http://localhost/api/instructor/courses/performance/submission-review/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"review_comment\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/instructor/courses/performance/submission-review/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "review_comment": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/instructor/courses/performance/submission-review/{submission_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

submission_id   integer   

The ID of the submission. Example: 16

Body Parameters

review_comment   string   

Example: architecto

POST api/instructor/courses/performance/evaluate-test

Example request:
curl --request POST \
    "http://localhost/api/instructor/courses/performance/evaluate-test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"student_id\": \"architecto\",
    \"test_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/instructor/courses/performance/evaluate-test"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "student_id": "architecto",
    "test_id": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/instructor/courses/performance/evaluate-test

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

student_id   string   

The user_id of an existing record in the students table. Example: architecto

test_id   string   

The id of an existing record in the course_curriculum_tests table. Example: architecto

Start test and enable test progress tracking.

Example request:
curl --request POST \
    "http://localhost/api/quiz/test-start" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"test_id\": \"architecto\",
    \"student_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/quiz/test-start"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "test_id": "architecto",
    "student_id": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/quiz/test-start

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

test_id   string   

The id of an existing record in the course_curriculum_tests table. Example: architecto

student_id   string   

The user_id of an existing record in the students table. Example: architecto

End course test

Example request:
curl --request POST \
    "http://localhost/api/quiz/test-end" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"test_id\": \"architecto\",
    \"student_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/quiz/test-end"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "test_id": "architecto",
    "student_id": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/quiz/test-end

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

test_id   string   

The id of an existing record in the course_curriculum_tests table. Example: architecto

student_id   string   

The user_id of an existing record in the students table. Example: architecto

Save test question answer by student

Example request:
curl --request POST \
    "http://localhost/api/quiz/save-student-answer" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"student_id\": \"architecto\",
    \"test_id\": \"architecto\",
    \"question_id\": \"architecto\",
    \"answer\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/quiz/save-student-answer"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "student_id": "architecto",
    "test_id": "architecto",
    "question_id": "architecto",
    "answer": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/quiz/save-student-answer

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

student_id   string   

The user_id of an existing record in the students table. Example: architecto

test_id   string   

The id of an existing record in the course_curriculum_tests table. Example: architecto

question_id   string   

The id of an existing record in the carriculum_test_questions table. Example: architecto

answer   string  optional  

Example: architecto

get test result for student

Example request:
curl --request GET \
    --get "http://localhost/api/quiz/result/architecto-16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/quiz/result/architecto-16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (429):

Show headers
x-ratelimit-limit: 60
x-ratelimit-remaining: 0
retry-after: 58
x-ratelimit-reset: 1755864989
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/quiz/result/{student_id}-{test_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

student_id   string   

The ID of the student. Example: architecto

test_id   integer   

The ID of the test. Example: 16

Test management

APIs for managing Tests for lessons/Curriculum

Display the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/student/learning/fetch-test/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/student/learning/fetch-test/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 44
access-control-allow-origin: *
 

{
    "message": "No query results for model [App\\Models\\CurriculumTest] architecto"
}
 

Request      

GET api/student/learning/fetch-test/{test_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

test_slug   string   

The slug of the test. Example: architecto

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/instructor/courses/tests/test-questions" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "test_id=architecto"\
    --form "question=architecto"\
    --form "question_type=file_upload"\
    --form "answer=architecto"\
    --form "media_file=@C:\Users\Augustine\AppData\Local\Temp\php2EC.tmp" 
const url = new URL(
    "http://localhost/api/instructor/courses/tests/test-questions"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('test_id', 'architecto');
body.append('question', 'architecto');
body.append('question_type', 'file_upload');
body.append('answer', 'architecto');
body.append('media_file', document.querySelector('input[name="media_file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/instructor/courses/tests/test-questions

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

test_id   string   

The id of an existing record in the course_curriculum_tests table. Example: architecto

question   string   

Example: architecto

media_file   file  optional  

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php2EC.tmp

question_type   string   

Example: file_upload

Must be one of:
  • file_upload
  • mcq
  • short_answer
answer   string  optional  

This field is required when question_type is mcq or short_answer. Example: architecto

Display the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/instructor/courses/tests/test-questions/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/instructor/courses/tests/test-questions/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 10
access-control-allow-origin: *
 

{
    "message": "No query results for model [App\\Models\\CurriculumTestQuestion] 16"
}
 

Request      

GET api/instructor/courses/tests/test-questions/{question_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

question_id   integer   

The ID of the question. Example: 16

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/instructor/courses/tests/test-questions/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "test_id=architecto"\
    --form "question=architecto"\
    --form "question_type=mcq"\
    --form "answer=architecto"\
    --form "media_file=@C:\Users\Augustine\AppData\Local\Temp\php30C.tmp" 
const url = new URL(
    "http://localhost/api/instructor/courses/tests/test-questions/16"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('test_id', 'architecto');
body.append('question', 'architecto');
body.append('question_type', 'mcq');
body.append('answer', 'architecto');
body.append('media_file', document.querySelector('input[name="media_file"]').files[0]);

fetch(url, {
    method: "PUT",
    headers,
    body,
}).then(response => response.json());

Request      

PUT api/instructor/courses/tests/test-questions/{question_id}

PATCH api/instructor/courses/tests/test-questions/{question_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

question_id   integer   

The ID of the question. Example: 16

Body Parameters

test_id   string   

The id of an existing record in the course_curriculum_tests table. Example: architecto

question   string   

Example: architecto

media_file   file  optional  

Must be a file. Example: C:\Users\Augustine\AppData\Local\Temp\php30C.tmp

question_type   string   

'answer' => ['sometimes','required','string'],. Example: mcq

Must be one of:
  • file_upload
  • mcq
  • short_answer
answer   string  optional  

This field is required when question_type is mcq or short_answer. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/instructor/courses/tests/test-questions/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/instructor/courses/tests/test-questions/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/instructor/courses/tests/test-questions/{question_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

question_id   integer   

The ID of the question. Example: 16

POST api/instructor/courses/tests/{course_id}

Example request:
curl --request POST \
    "http://localhost/api/instructor/courses/tests/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": \"test\",
    \"order\": 16,
    \"title\": \"n\",
    \"description\": \"architecto\",
    \"duration\": \"architecto\",
    \"pass_score\": 4326.41688,
    \"test_type\": \"qna\",
    \"project_deadline\": \"2025-08-22T12:15:31\"
}"
const url = new URL(
    "http://localhost/api/instructor/courses/tests/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "type": "test",
    "order": 16,
    "title": "n",
    "description": "architecto",
    "duration": "architecto",
    "pass_score": 4326.41688,
    "test_type": "qna",
    "project_deadline": "2025-08-22T12:15:31"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/instructor/courses/tests/{course_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_id   integer   

The ID of the course. Example: 16

Body Parameters

type   string   

Example: test

Must be one of:
  • test
order   number   

Must be at least 1. Example: 16

title   string   

Must not be greater than 255 characters. Example: n

description   string   

Example: architecto

duration   string  optional  

This field is required when test_type is qna. Example: architecto

pass_score   number  optional  

This field is required when test_type is qna. Example: 4326.41688

test_type   string   

Example: qna

Must be one of:
  • project
  • qna
project_deadline   string  optional  

This field is required when test_type is project. Must be a valid date. Example: 2025-08-22T12:15:31

Display the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/instructor/courses/tests/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/instructor/courses/tests/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 9
access-control-allow-origin: *
 

{
    "message": "No query results for model [App\\Models\\CurriculumTest] architecto"
}
 

Request      

GET api/instructor/courses/tests/{test_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

test_slug   string   

The slug of the test. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/instructor/courses/tests/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"curriculum_id\": \"architecto\",
    \"title\": \"n\",
    \"discription\": \"architecto\",
    \"duration\": \"architecto\",
    \"pass_score\": 4326.41688,
    \"test_type\": \"project\",
    \"project_deadline\": \"2025-08-22T12:15:31\"
}"
const url = new URL(
    "http://localhost/api/instructor/courses/tests/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "curriculum_id": "architecto",
    "title": "n",
    "discription": "architecto",
    "duration": "architecto",
    "pass_score": 4326.41688,
    "test_type": "project",
    "project_deadline": "2025-08-22T12:15:31"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/instructor/courses/tests/{test_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

test_id   integer   

The ID of the test. Example: 16

Body Parameters

curriculum_id   string   

The id of an existing record in the course_curricula table. Example: architecto

title   string   

Must not be greater than 255 characters. Example: n

discription   string   

Example: architecto

duration   string  optional  

This field is required when test_type is qna. Example: architecto

pass_score   number  optional  

This field is required when test_type is qna. Example: 4326.41688

test_type   string  optional  

'nullable'. Example: project

Must be one of:
  • project
  • qna
project_deadline   string   

Must be a valid date. Example: 2025-08-22T12:15:31

Update the specified resource in storage.

Example request:
curl --request PATCH \
    "http://localhost/api/instructor/courses/tests/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"curriculum_id\": \"architecto\",
    \"title\": \"n\",
    \"discription\": \"architecto\",
    \"duration\": \"architecto\",
    \"pass_score\": 4326.41688,
    \"test_type\": \"project\",
    \"project_deadline\": \"2025-08-22T12:15:31\"
}"
const url = new URL(
    "http://localhost/api/instructor/courses/tests/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "curriculum_id": "architecto",
    "title": "n",
    "discription": "architecto",
    "duration": "architecto",
    "pass_score": 4326.41688,
    "test_type": "project",
    "project_deadline": "2025-08-22T12:15:31"
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PATCH api/instructor/courses/tests/{test_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

test_id   integer   

The ID of the test. Example: 16

Body Parameters

curriculum_id   string   

The id of an existing record in the course_curricula table. Example: architecto

title   string   

Must not be greater than 255 characters. Example: n

discription   string   

Example: architecto

duration   string  optional  

This field is required when test_type is qna. Example: architecto

pass_score   number  optional  

This field is required when test_type is qna. Example: 4326.41688

test_type   string  optional  

'nullable'. Example: project

Must be one of:
  • project
  • qna
project_deadline   string   

Must be a valid date. Example: 2025-08-22T12:15:31

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/instructor/courses/tests/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/instructor/courses/tests/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/instructor/courses/tests/{test_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

test_id   integer   

The ID of the test. Example: 16

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/course/caricula/test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/course/caricula/test"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (429):

Show headers
x-ratelimit-limit: 60
x-ratelimit-remaining: 0
retry-after: 58
x-ratelimit-reset: 1755864989
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/course/caricula/test

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/course/caricula/test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"b\",
    \"discription\": \"architecto\",
    \"duration\": \"architecto\",
    \"pass_score\": 4326.41688,
    \"test_type\": \"project\",
    \"project_deadline\": \"2025-08-22T12:15:31\"
}"
const url = new URL(
    "http://localhost/api/course/caricula/test"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": "b",
    "discription": "architecto",
    "duration": "architecto",
    "pass_score": 4326.41688,
    "test_type": "project",
    "project_deadline": "2025-08-22T12:15:31"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/course/caricula/test

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

title   string   

Must not be greater than 255 characters. Example: b

discription   string   

Example: architecto

duration   string  optional  

This field is required when test_type is qna. Example: architecto

pass_score   number  optional  

This field is required when test_type is qna. Example: 4326.41688

test_type   string   

Example: project

Must be one of:
  • project
  • qna
project_deadline   string  optional  

This field is required when test_type is project. Must be a valid date. Example: 2025-08-22T12:15:31

Display the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/course/caricula/test/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/course/caricula/test/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (429):

Show headers
x-ratelimit-limit: 60
x-ratelimit-remaining: 0
retry-after: 58
x-ratelimit-reset: 1755864989
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Too Many Attempts."
}
 

Request      

GET api/course/caricula/test/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the test. Example: 16

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/course/caricula/test/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"curriculum_id\": \"architecto\",
    \"title\": \"n\",
    \"discription\": \"architecto\",
    \"duration\": \"architecto\",
    \"pass_score\": 4326.41688,
    \"test_type\": \"project\",
    \"project_deadline\": \"2025-08-22T12:15:31\"
}"
const url = new URL(
    "http://localhost/api/course/caricula/test/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "curriculum_id": "architecto",
    "title": "n",
    "discription": "architecto",
    "duration": "architecto",
    "pass_score": 4326.41688,
    "test_type": "project",
    "project_deadline": "2025-08-22T12:15:31"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/course/caricula/test/{id}

PATCH api/course/caricula/test/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the test. Example: 16

Body Parameters

curriculum_id   string   

The id of an existing record in the course_curricula table. Example: architecto

title   string   

Must not be greater than 255 characters. Example: n

discription   string   

Example: architecto

duration   string  optional  

This field is required when test_type is qna. Example: architecto

pass_score   number  optional  

This field is required when test_type is qna. Example: 4326.41688

test_type   string  optional  

'nullable'. Example: project

Must be one of:
  • project
  • qna
project_deadline   string   

Must be a valid date. Example: 2025-08-22T12:15:31

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/course/caricula/test/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/course/caricula/test/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/course/caricula/test/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the test. Example: 16

User Account management

APIs for User Account

Retrieve use account settings

Example request:
curl --request GET \
    --get "http://localhost/api/user/account-setting/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/user/account-setting/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 59
access-control-allow-origin: *
 

{
    "message": "No query results for model [App\\Models\\User] architecto"
}
 

Request      

GET api/user/account-setting/{user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   string   

The ID of the user. Example: architecto

Update use account settings

Example request:
curl --request POST \
    "http://localhost/api/user/account-setting/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"course_suggestion\": false,
    \"class_suggestion\": true,
    \"community_conversations\": true,
    \"preferred_language\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/user/account-setting/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "course_suggestion": false,
    "class_suggestion": true,
    "community_conversations": true,
    "preferred_language": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/user/account-setting/{user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   string   

The ID of the user. Example: architecto

Body Parameters

course_suggestion   boolean   

Example: false

class_suggestion   boolean   

Example: true

community_conversations   boolean   

Example: true

preferred_language   string   

Example: architecto