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_BEARER_TOKEN}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
You can retrieve a user token by calling the login endpoint or register endpoint for new users.
Academic Information Management
Endpoints for managing academic informations of students
Get the current authenticated user's academic information.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/ai" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/ai"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"id": 1,
"current_status": {
"id": 2,
"name": "Undergraduate"
},
"high_schools_attended": []
}
Example response (404):
{
"message": "Academic information not found",
"academic_information": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new academic information entry.
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/ai" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"current_status\": \"consequatur\",
\"user_id\": \"consequatur\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/ai"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"current_status": "consequatur",
"user_id": "consequatur"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update an academic information entry.
requires authentication
Example request:
curl --request PUT \
"https://vps117355.serveur-vps.net/api/ai/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"current_status\": \"consequatur\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/ai/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"current_status": "consequatur"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin Notification Management
Endpoints to handle admin-scoped notifications (listing, viewing and marking as read).
These endpoints return enriched information via the AdminNotificationResource and support
filtering by read/unread and pagination. They are scoped to the authenticated admin (results limited
to notifications intended for the authenticated admin).
Example: GET /api/admin/admin_notifications?status=unread&paginated=true
Display a listing of the resource.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/admin_notifications" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/admin_notifications"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:57.079077Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Display the specified resource.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/admin_notifications/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/admin_notifications/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:57.083638Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/admin/admin_notifications/read-all
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/admin_notifications/read-all" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/admin_notifications/read-all"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Adviser Management
Manage adviser-student assignments
Get the adviser assigned to a student.
requires authentication
Student can view their own adviser, admins can view any student's adviser.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/my-adviser?student_id=17" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/my-adviser"
);
const params = {
"student_id": "17",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"data": {"id": 5, "name": "Dr. Smith", "email": "smith@example.com", ...}}
Example response (404):
{
"message": "Student has no adviser assigned"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get statistics for an adviser.
requires authentication
Adviser can view their own stats, admins can view any adviser's stats.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/my-adviser-stats?adviser_id=17" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/my-adviser-stats"
);
const params = {
"adviser_id": "17",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"adviser_id": 5, "total_assigned_students": 12, "students": [...]}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get all students assigned to an adviser.
requires authentication
Adviser can view their own students, admins can view any adviser's students.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/my-adviser-students?adviser_id=17" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/my-adviser-students"
);
const params = {
"adviser_id": "17",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"data": [{"id": 3, "name": "John Doe", "email": "john@example.com", ...}], "total": 1}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Assign a student to an adviser.
requires authentication
Only admins can assign students to advisers.
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/advisers/assign-student" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"adviser_id\": 17,
\"student_id\": 17
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/advisers/assign-student"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"adviser_id": 17,
"student_id": 17
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"message": "Student assigned to adviser successfully",
"adviser_id": 5,
"student_id": 3
}
Example response (404):
{
"message": "Adviser or student not found"
}
Example response (422):
{"message": "User is not an adviser" or "User is not a student" or "Student already assigned to this adviser"}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove a student from an adviser.
requires authentication
Only admins can remove student assignments.
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/advisers/remove-student" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"adviser_id\": 17,
\"student_id\": 17
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/advisers/remove-student"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"adviser_id": 17,
"student_id": 17
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"message": "Student removed from adviser successfully"
}
Example response (404):
{
"message": "Assignment not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List all advisers.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/advisers" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/advisers"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"data": [{"id": 5, "name": "Dr. Smith", "email": "smith@example.com", ...}], "total": 5}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get statistics for an adviser.
requires authentication
Adviser can view their own stats, admins can view any adviser's stats.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/advisers/stats?adviser_id=17" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/advisers/stats"
);
const params = {
"adviser_id": "17",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"adviser_id": 5, "total_assigned_students": 12, "students": [...]}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get all students assigned to an adviser.
requires authentication
Adviser can view their own students, admins can view any adviser's students.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/advisers/students?adviser_id=17" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/advisers/students"
);
const params = {
"adviser_id": "17",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"data": [{"id": 3, "name": "John Doe", "email": "john@example.com", ...}], "total": 1}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the adviser assigned to a student.
requires authentication
Student can view their own adviser, admins can view any student's adviser.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/students/adviser?student_id=17" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/students/adviser"
);
const params = {
"student_id": "17",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"data": {"id": 5, "name": "Dr. Smith", "email": "smith@example.com", ...}}
Example response (404):
{
"message": "Student has no adviser assigned"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Authentication Endpoints
Endpoints to handle authentication.
Register a new user
This endpoint handles user registration. It accepts a name, email, and password, creates a new user, and returns an authentication token.
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/register" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"John Doe\",
\"email\": \"john@ollav.com\",
\"password\": \"O[2UZ5ij-e\\/dl4m{o,\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/register"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "John Doe",
"email": "john@ollav.com",
"password": "O[2UZ5ij-e\/dl4m{o,"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Login a new user
This endpoint handles user signin process. It accepts an email and password, Check the user, and returns an authentication token.
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"john@ollav.com\",
\"password\": \"consequatur\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/login"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "john@ollav.com",
"password": "consequatur"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Logout the authenticated user
requires authentication
This endpoint handles user signing out.
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/logout" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/logout"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Bundles Management
List available bundles
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/bundles" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/bundles"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, List of active bundles with price and currency):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create new bundle (admin only)
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/bundles" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Premium Pack\",
\"credits\": 300,
\"price\": 50,
\"currency\": \"BIF\",
\"description\": \"Dolores dolorum amet iste laborum eius est dolor.\",
\"is_active\": true
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/bundles"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Premium Pack",
"credits": 300,
"price": 50,
"currency": "BIF",
"description": "Dolores dolorum amet iste laborum eius est dolor.",
"is_active": true
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update bundle (admin only)
requires authentication
Example request:
curl --request PATCH \
"https://vps117355.serveur-vps.net/api/admin/bundles/consequatur" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"vmqeopfuudtdsufvyvddq\",
\"credits\": 2,
\"price\": 45,
\"currency\": \"USD\",
\"description\": \"Dolores dolorum amet iste laborum eius est dolor.\",
\"is_active\": false
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/bundles/consequatur"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "vmqeopfuudtdsufvyvddq",
"credits": 2,
"price": 45,
"currency": "USD",
"description": "Dolores dolorum amet iste laborum eius est dolor.",
"is_active": false
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete bundle (admin only)
requires authentication
Example request:
curl --request DELETE \
"https://vps117355.serveur-vps.net/api/admin/bundles/consequatur" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/bundles/consequatur"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Contact Management
Endpoints for managing contacts
Store a newly created contact.
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/contacts" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"qkunze@example.com\",
\"phone\": \"consequatur\",
\"address\": \"mqeopfuudtdsufvyvddqamniihfqcoynlazghdtqtqxbajwbpilpmufinllwloauydlsmsjury\",
\"personal_information_id\": 17
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/contacts"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "qkunze@example.com",
"phone": "consequatur",
"address": "mqeopfuudtdsufvyvddqamniihfqcoynlazghdtqtqxbajwbpilpmufinllwloauydlsmsjury",
"personal_information_id": 17
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update the specified contact.
requires authentication
Example request:
curl --request PUT \
"https://vps117355.serveur-vps.net/api/contacts/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"qkunze@example.com\",
\"address\": \"opfuudtdsufvyvddqamniihfqcoynlazghdtqtqxbajwbpilpmufinllwloauydlsmsjuryvoj\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/contacts/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "qkunze@example.com",
"address": "opfuudtdsufvyvddqamniihfqcoynlazghdtqtqxbajwbpilpmufinllwloauydlsmsjuryvoj"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete the specified contact.
requires authentication
this must be done by the owning user or an admin.
Example request:
curl --request DELETE \
"https://vps117355.serveur-vps.net/api/contacts/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/contacts/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Credit Management
User Credit Management Endpoints to manage user credits.
Add credits to user
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/users/1/credits/add" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"amount\": 50,
\"description\": \"Manual top-up\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/users/1/credits/add"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"amount": 50,
"description": "Manual top-up"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Credits added successfully):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Deduct credits from user
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/users/1/credits/deduct" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"amount\": 20,
\"description\": \"Service usage\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/users/1/credits/deduct"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"amount": 20,
"description": "Service usage"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Credits deducted successfully):
Example response (400, Insufficient credits):
Example response (404, No credit record found):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get user credit balance
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/users/1/credits/balance" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/users/1/credits/balance"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Current credit balance):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get user credit history
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/users/1/credits/history" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/users/1/credits/history"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Credit history not implemented yet):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
User Transaction Management Endpoints to record and view user transactions (e.g., credit purchases, application fees). Used primarily for tracking and displaying transaction history.
Record a transaction
requires authentication
Typically used when a user purchases credits or pays an application fee.
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/users/1/transactions" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"transaction_type\": \"credit_purchase\",
\"amount\": 100
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/users/1/transactions"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"transaction_type": "credit_purchase",
"amount": 100
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Transaction recorded successfully):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show a transaction
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/users/1/transactions/consequatur" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/users/1/transactions/consequatur"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Transaction details):
Example response (404, Transaction not found):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List user transaction history
requires authentication
Returns paginated list of all recorded transactions.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/users/1/transactions?per_page=20" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/users/1/transactions"
);
const params = {
"per_page": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Paginated list of transactions):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
University Credit Management Endpoints to manage credits allocated to universities (e.g., for application processing).
Add credits to university
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/universities/019b0704-3838-7301-bd28-6a40c2eb29df/credits/add" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"amount\": 100,
\"description\": \"Bulk purchase\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/universities/019b0704-3838-7301-bd28-6a40c2eb29df/credits/add"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"amount": 100,
"description": "Bulk purchase"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Credits added successfully):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Deduct credits from university
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/universities/019b0704-3838-7301-bd28-6a40c2eb29df/credits/deduct" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"amount\": 10,
\"description\": \"Application processed\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/universities/019b0704-3838-7301-bd28-6a40c2eb29df/credits/deduct"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"amount": 10,
"description": "Application processed"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Credits deducted successfully):
Example response (400, Insufficient credits):
Example response (404, No credit record found):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get university credit balance
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/universities/019b0704-3838-7301-bd28-6a40c2eb29df/credits/balance" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/universities/019b0704-3838-7301-bd28-6a40c2eb29df/credits/balance"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Current credit balance):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Major Credit Management Endpoints to manage credits allocated to majors (e.g., application cost per major).
Add credits to major
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/majors/1/credits/add" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"amount\": 100,
\"description\": \"Bulk purchase\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/majors/1/credits/add"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"amount": 100,
"description": "Bulk purchase"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Credits added successfully):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Deduct credits from major
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/majors/1/credits/deduct" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"amount\": 10,
\"description\": \"Application processed\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/majors/1/credits/deduct"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"amount": 10,
"description": "Application processed"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Credits deducted successfully):
Example response (400, Insufficient credits):
Example response (404, No credit record found):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get major credit balance
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/majors/1/credits/balance" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/majors/1/credits/balance"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Current credit balance):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Credit Purchases & Bundle Payments
Submit bundle purchase with payment proof
requires authentication
Allows a user to buy a credit bundle via offline/manual payment (e.g., mobile money, bank transfer). User selects a bundle and uploads a screenshot/receipt as proof. The request becomes pending until an admin approves or rejects it.
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/users/1/credit-purchases" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "bundle_id=019b1de6-8c48-7396-9209-11c69db9e53b"\
--form "proof_image=@/tmp/phpgZCfS1" const url = new URL(
"https://vps117355.serveur-vps.net/api/users/1/credit-purchases"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('bundle_id', '019b1de6-8c48-7396-9209-11c69db9e53b');
body.append('proof_image', document.querySelector('input[name="proof_image"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Example response (201, Proof submitted successfully. Awaiting admin approval.):
Example response (422, Validation errors (invalid bundle, wrong file type, etc.)):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
View payment proof image
requires authentication
Returns the uploaded proof image for a credit purchase. Accessible by the user who submitted it or by admins.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/credit-purchases/consequatur/proof" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/credit-purchases/consequatur/proof"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Returns the image file):
Example response (404, Image not found or purchase does not exist):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List pending credit purchases (admin only)
requires authentication
Returns paginated list of purchases awaiting approval, with user and bundle details.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/credit-purchases/pending" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/credit-purchases/pending"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Paginated list of pending purchases):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Approve credit purchase (admin only)
requires authentication
On approval:
- Credits from the bundle are added to the user's balance
- A transaction record is created (type: credit_purchase)
- Purchase status changes to approved
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/credit-purchases/consequatur/approve" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/credit-purchases/consequatur/approve"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, Purchase approved and credits added successfully):
Example response (400, Purchase already processed):
Example response (404, Purchase not found):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reject credit purchase (admin only)
requires authentication
Rejects the purchase and records an admin note (reason).
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/credit-purchases/consequatur/reject" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"admin_note\": \"Payment not received or proof unclear\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/credit-purchases/consequatur/reject"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"admin_note": "Payment not received or proof unclear"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Purchase rejected successfully):
Example response (400, Purchase already processed):
Example response (422, Missing or invalid admin_note):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Current Status Management
Manage the current status in the system
List of all the current status a student can have.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/current_status" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/current_status"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:57.036136Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store a newly created current status.
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/current_status" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"consequatur\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/current_status"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "consequatur"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show one current status.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/current_status/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/current_status/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:57.041967Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update the specified resource in storage.
requires authentication
Example request:
curl --request PUT \
"https://vps117355.serveur-vps.net/api/admin/current_status/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"consequatur\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/current_status/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "consequatur"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove the specified resource from storage.
requires authentication
Example request:
curl --request DELETE \
"https://vps117355.serveur-vps.net/api/admin/current_status/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/current_status/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Document Locker
Endpoints to manage the document locker
Show the content of the document locker
requires authentication
The document locker that is associated with authenticated user also the user has to be as student.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/document_locker" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/document_locker"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.781588Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show one specific document locker by user id
requires authentication
can be used by the user owner of the token or an admin to fetch the document locker of a specific user
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/document_locker/consequatur?id=1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/document_locker/consequatur"
);
const params = {
"id": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.785696Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List all exam results for the authenticated user's locker.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/exam_results" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/exam_results"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.789859Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show a specific exam result in the authenticated user's locker.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/exam_results/consequatur" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/exam_results/consequatur"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.794374Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a specific exam result from the authenticated user's locker.
requires authentication
Example request:
curl --request DELETE \
"https://vps117355.serveur-vps.net/api/exam_results/consequatur" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/exam_results/consequatur"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List all other documents for the authenticated user's locker.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/other_documents" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/other_documents"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.802181Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show a specific other document in the authenticated user's locker.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/other_documents/consequatur" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/other_documents/consequatur"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.806272Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a specific other document from the authenticated user's locker.
requires authentication
Example request:
curl --request DELETE \
"https://vps117355.serveur-vps.net/api/other_documents/consequatur" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/other_documents/consequatur"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Setup or init a new document locker for the authenticated student
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/document_locker/setup" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/document_locker/setup"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Endpoint to upload documents to the authenticated student's locker.
requires authentication
Supported upload types (send as upload_type):
- transcript: requires
description(string) andtranscript_file(file: pdf, txt, docx) - exam_results: requires
exam_name(string) and eitherexam_result_file(file) ORexam_result_text(string). Optionalscoreanddescription. - recommendation_letter: requires
descriptionandrecommendation_letter_file(file) - personal_statement: requires
descriptionand eitherpersonal_statement_file(file) orpersonal_statement_text(string) - resume: requires
resume_file(file) - passport: requires
passport_file(file) - others: requires
document_name, optionaldescription, andother_document_file(file: pdf, jpg, png)
Files are validated with extensions and size limits (see controller validation rules).
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/document_locker/upload" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"upload_type\": \"transcript\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/document_locker/upload"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"upload_type": "transcript"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Endpoint to replace a document already stored in the locker.
requires authentication
Use upload_type and doc_id to select which document to replace, then send the same file param that
would be used for an upload of that type. Supported upload_type values and file params are the same as
for the upload endpoint (transcript, exam_results, recommendation_letter, personal_statement, resume, passport, others).
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/document_locker/replace" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"upload_type\": \"transcript\",
\"doc_id\": 17
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/document_locker/replace"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"upload_type": "transcript",
"doc_id": 17
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Submit or update the student's overall academic grade.
requires authentication
This endpoint allows a student to manually enter their academic average (e.g., moyenne générale from Diplôme d'État for Burundian users, GPA for international users, etc.). The submitted grade is stored in the Document Locker section and requires admin verification before it can be used in university/major recommendation matching.
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/profile/grade" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"grading_system\": \"percentage_100\",
\"grade_value\": 11613.31890586,
\"description\": \"\\\"Moyenne générale - Diplôme d\'État 2024\\\"\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/profile/grade"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"grading_system": "percentage_100",
"grade_value": 11613.31890586,
"description": "\"Moyenne générale - Diplôme d'État 2024\""
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"message": "Grade submitted successfully",
"grade": {
"id": 45,
"user_id": 123,
"grading_system": "percentage_100",
"grade_value": 76.5,
"description": "Moyenne générale - Diplôme d'État 2024",
"status_id": 2,
"verified_at": null,
"created_at": "2025-12-15T10:30:00.000000Z",
"updated_at": "2025-12-15T10:30:00.000000Z"
}
}
Example response (403):
{
"error": "Not a student"
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"grading_system": [
"The selected grading system is invalid."
],
"grade_value": [
"The grade value must be a number."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin verification of a specific uploaded document
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/upload_validation" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"document_locker_id\": 17,
\"document_type\": \"consequatur\",
\"document_id\": 17,
\"verdict\": \"consequatur\",
\"feedback\": \"consequatur\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/upload_validation"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"document_locker_id": 17,
"document_type": "consequatur",
"document_id": 17,
"verdict": "consequatur",
"feedback": "consequatur"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Endpoints
Return precomputed dashboard metrics or a timeseries over a date range.
requires authentication
Query params:
- start YYYY-MM-DD (optional)
- end YYYY-MM-DD (optional)
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/metrics" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/metrics"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:57.118326Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/admin/metrics/recompute
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/metrics/recompute" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/metrics/recompute"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Return aggregated per-university metrics over a date range (or single day if start=end)
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/metrics/universities" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/metrics/universities"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:57.123037Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List metric events with optional filters
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/metrics/events" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/metrics/events"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:57.126437Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Backfill metrics for a date range (admin-triggered)
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/metrics/backfill" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"start\": \"2026-01-11T08:46:57\",
\"end\": \"2107-02-09\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/metrics/backfill"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"start": "2026-01-11T08:46:57",
"end": "2107-02-09"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
HighSchool Management
Endpoints for managing highschools
Store a newly created highSchool.
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/highschools" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"vmqeopfuudtdsufvyvddq\",
\"country\": \"amniihfqcoynlazghdtqt\",
\"years\": 16,
\"academic_information_id\": \"consequatur\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/highschools"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "vmqeopfuudtdsufvyvddq",
"country": "amniihfqcoynlazghdtqt",
"years": 16,
"academic_information_id": "consequatur"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update the specified highSchool.
requires authentication
Example request:
curl --request PUT \
"https://vps117355.serveur-vps.net/api/highschools/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"vmqeopfuudtdsufvyvddq\",
\"country\": \"amniihfqcoynlazghdtqt\",
\"years\": 16
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/highschools/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "vmqeopfuudtdsufvyvddq",
"country": "amniihfqcoynlazghdtqt",
"years": 16
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove the specified highSchool.
requires authentication
Example request:
curl --request DELETE \
"https://vps117355.serveur-vps.net/api/highschools/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/highschools/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Majors Management
Get all majors
requires authentication
Returns a paginated list of majors.
You can optionally filter by degree or university.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/majors?degree=Bachelor&university_id=42&page=1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/majors"
);
const params = {
"degree": "Bachelor",
"university_id": "42",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.969747Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a single major
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/majors/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/majors/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"id": 1,
"name": "Computer Science",
"description": "Software engineering & algorithms",
"degree": "Bachelor",
"is_applications_open": true,
"minimum_gpa_grades": "3.0 / 75%",
"budget_range": "$8k–12k/year",
"is_scholarship_available": true,
"university": {
"id": 42,
"name": "Example University"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new major
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/majors" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"vmqeopfuudtdsufvyvddq\",
\"description\": \"Dolores dolorum amet iste laborum eius est dolor.\",
\"degree\": \"Bachelor\",
\"is_applications_open\": false,
\"minimum_gpa_grades\": \"dtdsufvyvddqamniihfqc\",
\"budget_range\": \"oynlazghdtqtqxbajwbpi\",
\"is_scholarship_available\": true,
\"university_id\": \"consequatur\",
\"application_deadline\": \"2026-01-11T08:46:57\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/majors"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "vmqeopfuudtdsufvyvddq",
"description": "Dolores dolorum amet iste laborum eius est dolor.",
"degree": "Bachelor",
"is_applications_open": false,
"minimum_gpa_grades": "dtdsufvyvddqamniihfqc",
"budget_range": "oynlazghdtqtqxbajwbpi",
"is_scholarship_available": true,
"university_id": "consequatur",
"application_deadline": "2026-01-11T08:46:57"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201):
{
"id": 11,
"name": "Data Science",
"description": "Machine learning & big-data analytics",
"degree": "Master",
"is_applications_open": true,
"minimum_gpa_grades": "3.5 / 80%",
"budget_range": "$10k–15k/year",
"is_scholarship_available": false,
"university": {
"id": 5,
"name": "Tech University"
}
}
Example response (403):
{
"message": "Forbidden"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Manager Management
Manage manager-student assignments
Get the manager assigned to a student.
requires authentication
Student can view their own manager, admins can view any student's manager.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/my-manager?student_id=17" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/my-manager"
);
const params = {
"student_id": "17",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"data": {"id": 5, "name": "Manager Smith", "email": "smith@example.com", ...}}
Example response (404):
{
"message": "Student has no manager assigned"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get statistics for a manager.
requires authentication
Manager can view their own stats, admins can view any manager's stats.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/my-manager-stats?manager_id=17" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/my-manager-stats"
);
const params = {
"manager_id": "17",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"manager_id": 5, "total_assigned_students": 12, "students": [...]}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get all students assigned to a manager.
requires authentication
Manager can view their own students, admins can view any manager's students.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/my-manager-students?manager_id=17" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/my-manager-students"
);
const params = {
"manager_id": "17",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"data": [{"id": 3, "name": "John Doe", "email": "john@example.com", ...}], "total": 1}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Assign a student to a manager.
requires authentication
Only admins can assign students to managers.
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/managers/assign-student" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"manager_id\": 17,
\"student_id\": 17
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/managers/assign-student"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"manager_id": 17,
"student_id": 17
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"message": "Student assigned to manager successfully",
"manager_id": 5,
"student_id": 3
}
Example response (404):
{
"message": "Manager or student not found"
}
Example response (422):
{"message": "User is not a manager" or "User is not a student" or "Student already assigned to this manager"}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove a student from a manager.
requires authentication
Only admins can remove student assignments.
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/managers/remove-student" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"manager_id\": 17,
\"student_id\": 17
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/managers/remove-student"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"manager_id": 17,
"student_id": 17
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"message": "Student removed from manager successfully"
}
Example response (404):
{
"message": "Assignment not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List all managers.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/managers" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/managers"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"data": [{"id": 5, "name": "Manager Smith", "email": "smith@example.com", ...}], "total": 5}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get statistics for a manager.
requires authentication
Manager can view their own stats, admins can view any manager's stats.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/managers/stats?manager_id=17" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/managers/stats"
);
const params = {
"manager_id": "17",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"manager_id": 5, "total_assigned_students": 12, "students": [...]}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get all students assigned to a manager.
requires authentication
Manager can view their own students, admins can view any manager's students.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/managers/students?manager_id=17" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/managers/students"
);
const params = {
"manager_id": "17",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"data": [{"id": 3, "name": "John Doe", "email": "john@example.com", ...}], "total": 1}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the manager assigned to a student.
requires authentication
Student can view their own manager, admins can view any student's manager.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/students/manager?student_id=17" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/students/manager"
);
const params = {
"student_id": "17",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"data": {"id": 5, "name": "Manager Smith", "email": "smith@example.com", ...}}
Example response (404):
{
"message": "Student has no manager assigned"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Miscellaneous
Get the user by the token
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/user" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/user"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.568671Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Check if the api is online
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/health" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/health"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"status": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Personal Information
Manage personal informations of a student
Get the current authenticated user's personal information.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/pi" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/pi"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"id": 1,
"date_of_birth": "1995-06-01",
"gender": "Female",
"nationality": "Kenya",
"user_id": 5
}
Example response (404):
{
"message": "Personal information not found",
"personal_information": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store a newly created Personal info.
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/pi/consequatur" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"date_of_birth\": \"2026-01-11T08:46:56\",
\"gender\": \"consequatur\",
\"nationality\": \"mqeopfuudtdsufvyvddqamniihfqcoynlazghdtqtqxbajwbpilpmufinllwloauydlsmsjury\",
\"user_id\": \"consequatur\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/pi/consequatur"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"date_of_birth": "2026-01-11T08:46:56",
"gender": "consequatur",
"nationality": "mqeopfuudtdsufvyvddqamniihfqcoynlazghdtqtqxbajwbpilpmufinllwloauydlsmsjury",
"user_id": "consequatur"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update the specified personal information.
requires authentication
Example request:
curl --request PUT \
"https://vps117355.serveur-vps.net/api/pi/consequatur" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"date_of_birth\": \"2026-01-11T08:46:56\",
\"gender\": \"consequatur\",
\"nationality\": \"mqeopfuudtdsufvyvddqamniihfqcoynlazghdtqtqxbajwbpilpmufinllwloauydlsmsjury\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/pi/consequatur"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"date_of_birth": "2026-01-11T08:46:56",
"gender": "consequatur",
"nationality": "mqeopfuudtdsufvyvddqamniihfqcoynlazghdtqtqxbajwbpilpmufinllwloauydlsmsjury"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"message": "Personal Information updated successfully",
"personal_information": {
"id": 1,
"date_of_birth": "1995-06-01",
"gender": "Female",
"nationality": "Kenya"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Preferences and goals
Manage student preferences.
Get the current authenticated user's preferences.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/preferences" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/preferences"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"id": 1,
"intended_field_of_study": "Computer Science",
"min_budget": 5000,
"max_budget": 20000,
"currency": "USD",
"scholarship_interest": true,
"study_destinations": []
}
Example response (404):
{
"message": "Preferences not found",
"preferences": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store a newly created preference.
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/preferences" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"intended_field_of_study\": \"consequatur\",
\"min_budget\": 11613.31890586,
\"max_budget\": 11613.31890586,
\"currency\": \"opfuudtdsufvyvddqamniihfqcoynlazghdtqtqxbajwbpilpmufinllwloauydlsmsjuryvoj\",
\"user_id\": \"consequatur\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/preferences"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"intended_field_of_study": "consequatur",
"min_budget": 11613.31890586,
"max_budget": 11613.31890586,
"currency": "opfuudtdsufvyvddqamniihfqcoynlazghdtqtqxbajwbpilpmufinllwloauydlsmsjuryvoj",
"user_id": "consequatur"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update the specified preference.
requires authentication
Example request:
curl --request PUT \
"https://vps117355.serveur-vps.net/api/preferences/consequatur" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"min_budget\": 11613.31890586,
\"max_budget\": 11613.31890586,
\"currency\": \"opfuudtdsufvyvddqamniihfqcoynlazghdtqtqxbajwbpilpmufinllwloauydlsmsjuryvoj\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/preferences/consequatur"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"min_budget": 11613.31890586,
"max_budget": 11613.31890586,
"currency": "opfuudtdsufvyvddqamniihfqcoynlazghdtqtqxbajwbpilpmufinllwloauydlsmsjuryvoj"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Special Needs Management
Endpoints to manage special needs
Store a newly created special need.
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/special_needs" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"needs\": []
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/special_needs"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"needs": []
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update the specified special needs of a student.
requires authentication
Example request:
curl --request PUT \
"https://vps117355.serveur-vps.net/api/special_needs/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
const url = new URL(
"https://vps117355.serveur-vps.net/api/special_needs/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PUT",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove the specified resource from storage.
requires authentication
Example request:
curl --request DELETE \
"https://vps117355.serveur-vps.net/api/special_needs/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/special_needs/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Student Conversations
Message box between students and uni staff. Students can start conversations with university staff. Assigned managers/advisers for the student and admins can participate and reply.
List conversations relevant to the authenticated user.
requires authentication
- Students see conversations where they are the student.
- Managers/Advisers see conversations for their assigned students.
- Admins see all conversations.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/conversations" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/conversations"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"student_id": 3,
"subject": "..."
}
],
"total": 1
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new conversation (student only) and post the first message.
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/conversations" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"subject\": \"consequatur\",
\"body\": \"consequatur\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/conversations"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"subject": "consequatur",
"body": "consequatur"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201):
{
"message": "Conversation created",
"conversation": {}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Display the specified conversation and its messages.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/conversations/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/conversations/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.828531Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Post a new message to a conversation.
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/conversations/1/messages" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"body\": \"consequatur\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/conversations/1/messages"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"body": "consequatur"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Student Language
Manage the languages spoken by the student.
Store a newly created language.
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/languages" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"vmqeopfuudtdsufvyvddqamniihfqcoynlazghdtqtqxbajwbpilpmufinllwloauydlsmsjur\",
\"personal_information_id\": 17
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/languages"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "vmqeopfuudtdsufvyvddqamniihfqcoynlazghdtqtqxbajwbpilpmufinllwloauydlsmsjur",
"personal_information_id": 17
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update the student language.
requires authentication
Example request:
curl --request PUT \
"https://vps117355.serveur-vps.net/api/languages/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"vmqeopfuudtdsufvyvddqamniihfqcoynlazghdtqtqxbajwbpilpmufinllwloauydlsmsjur\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/languages/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "vmqeopfuudtdsufvyvddqamniihfqcoynlazghdtqtqxbajwbpilpmufinllwloauydlsmsjur"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove the specified language.
requires authentication
Example request:
curl --request DELETE \
"https://vps117355.serveur-vps.net/api/languages/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/languages/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Student Management
Endpoint to manage the students
Endpoint to get the data for the packet used for his application
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/application_packet/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/application_packet/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.725582Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Endpoint to get the data for the student.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/students/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/students/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.835997Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the matching for the authenticated student.
requires authentication
Returns a ranked list of recommended majors for the authenticated student.
Each item contains: type ("major"), score (0-100), a breakdown of contributing factors, and the related major and its university resource.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/matches?limit=20" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/matches"
);
const params = {
"limit": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"type": "major",
"major": {
"id": 1,
"name": "Computer Science",
"is_applications_open": true
},
"university": {
"id": 5,
"name": "Example University"
},
"score": 87.2,
"breakdown": {
"field": 90,
"budget": 70,
"scholarship": 100,
"destination": 100,
"academic": 80,
"language": 100
},
"category": "Strong Match"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show the list of the students on the platform
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/students" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/students"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:57.031575Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Study destination
Manage study destination
Display a listing of all the study destinations.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/study_destinations" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/study_destinations"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:57.056061Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store a newly created study destination.
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/study_destinations" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"destination\": \"consequatur\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/study_destinations"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"destination": "consequatur"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Display one study destination.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/study_destinations/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/study_destinations/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:57.065846Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update the specified study destination.
requires authentication
Example request:
curl --request PUT \
"https://vps117355.serveur-vps.net/api/admin/study_destinations/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"destination\": \"consequatur\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/study_destinations/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"destination": "consequatur"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove the specified study destination.
requires authentication
Example request:
curl --request DELETE \
"https://vps117355.serveur-vps.net/api/admin/study_destinations/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/study_destinations/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Universities
Manage universities information.
Display a listing of all universities.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/universities" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/universities"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.858191Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store a newly created university.
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/universities" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=vmqeopfuudtdsufvyvddq"\
--form "description=Dolores dolorum amet iste laborum eius est dolor."\
--form "address=consequatur"\
--form "contact=mqeopfuudtdsufvyvddqa"\
--form "country=mniihfqcoynlazghdtqtq"\
--form "admission_rate=23"\
--form "is_scholarship_available=1"\
--form "budget_range=bajwbpilpmufinllwloau"\
--form "logo=@/tmp/phpriOxR8" \
--form "gallery[]=@/tmp/phpir43Qi" const url = new URL(
"https://vps117355.serveur-vps.net/api/universities"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('name', 'vmqeopfuudtdsufvyvddq');
body.append('description', 'Dolores dolorum amet iste laborum eius est dolor.');
body.append('address', 'consequatur');
body.append('contact', 'mqeopfuudtdsufvyvddqa');
body.append('country', 'mniihfqcoynlazghdtqtq');
body.append('admission_rate', '23');
body.append('is_scholarship_available', '1');
body.append('budget_range', 'bajwbpilpmufinllwloau');
body.append('logo', document.querySelector('input[name="logo"]').files[0]);
body.append('gallery[]', document.querySelector('input[name="gallery[]"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Display the specified university.
requires authentication
F
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/universities/019b0704-3838-7301-bd28-6a40c2eb29df" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/universities/019b0704-3838-7301-bd28-6a40c2eb29df"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.868442Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update the specified university.
requires authentication
Example request:
curl --request PUT \
"https://vps117355.serveur-vps.net/api/universities/019b0704-3838-7301-bd28-6a40c2eb29df" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=vmqeopfuudtdsufvyvddq"\
--form "description=Dolores dolorum amet iste laborum eius est dolor."\
--form "address=consequatur"\
--form "contact=mqeopfuudtdsufvyvddqa"\
--form "country=mniihfqcoynlazghdtqtq"\
--form "admission_rate=23"\
--form "is_scholarship_available=1"\
--form "budget_range=bajwbpilpmufinllwloau"\
--form "logo=@/tmp/php3c9v6u" \
--form "gallery[]=@/tmp/phpzEfEx8" const url = new URL(
"https://vps117355.serveur-vps.net/api/universities/019b0704-3838-7301-bd28-6a40c2eb29df"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('name', 'vmqeopfuudtdsufvyvddq');
body.append('description', 'Dolores dolorum amet iste laborum eius est dolor.');
body.append('address', 'consequatur');
body.append('contact', 'mqeopfuudtdsufvyvddqa');
body.append('country', 'mniihfqcoynlazghdtqtq');
body.append('admission_rate', '23');
body.append('is_scholarship_available', '1');
body.append('budget_range', 'bajwbpilpmufinllwloau');
body.append('logo', document.querySelector('input[name="logo"]').files[0]);
body.append('gallery[]', document.querySelector('input[name="gallery[]"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove the specified university.
requires authentication
Example request:
curl --request DELETE \
"https://vps117355.serveur-vps.net/api/universities/019b0704-3838-7301-bd28-6a40c2eb29df" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/universities/019b0704-3838-7301-bd28-6a40c2eb29df"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get universities by country.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/universities/country/consequatur" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/universities/country/consequatur"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.880174Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get universities with scholarships available.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/universities/scholarships/available" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/universities/scholarships/available"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.883925Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store a newly created university.
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/universities" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=vmqeopfuudtdsufvyvddq"\
--form "description=Dolores dolorum amet iste laborum eius est dolor."\
--form "address=consequatur"\
--form "contact=mqeopfuudtdsufvyvddqa"\
--form "country=mniihfqcoynlazghdtqtq"\
--form "admission_rate=23"\
--form "is_scholarship_available=1"\
--form "budget_range=bajwbpilpmufinllwloau"\
--form "logo=@/tmp/php8JhLZH" \
--form "gallery[]=@/tmp/php035av1" const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/universities"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('name', 'vmqeopfuudtdsufvyvddq');
body.append('description', 'Dolores dolorum amet iste laborum eius est dolor.');
body.append('address', 'consequatur');
body.append('contact', 'mqeopfuudtdsufvyvddqa');
body.append('country', 'mniihfqcoynlazghdtqtq');
body.append('admission_rate', '23');
body.append('is_scholarship_available', '1');
body.append('budget_range', 'bajwbpilpmufinllwloau');
body.append('logo', document.querySelector('input[name="logo"]').files[0]);
body.append('gallery[]', document.querySelector('input[name="gallery[]"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update the specified university.
requires authentication
Example request:
curl --request PUT \
"https://vps117355.serveur-vps.net/api/admin/universities/019b0704-3838-7301-bd28-6a40c2eb29df" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=vmqeopfuudtdsufvyvddq"\
--form "description=Dolores dolorum amet iste laborum eius est dolor."\
--form "address=consequatur"\
--form "contact=mqeopfuudtdsufvyvddqa"\
--form "country=mniihfqcoynlazghdtqtq"\
--form "admission_rate=23"\
--form "is_scholarship_available="\
--form "budget_range=bajwbpilpmufinllwloau"\
--form "logo=@/tmp/phpXrMdDv" \
--form "gallery[]=@/tmp/phpinFKC4" const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/universities/019b0704-3838-7301-bd28-6a40c2eb29df"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('name', 'vmqeopfuudtdsufvyvddq');
body.append('description', 'Dolores dolorum amet iste laborum eius est dolor.');
body.append('address', 'consequatur');
body.append('contact', 'mqeopfuudtdsufvyvddqa');
body.append('country', 'mniihfqcoynlazghdtqtq');
body.append('admission_rate', '23');
body.append('is_scholarship_available', '');
body.append('budget_range', 'bajwbpilpmufinllwloau');
body.append('logo', document.querySelector('input[name="logo"]').files[0]);
body.append('gallery[]', document.querySelector('input[name="gallery[]"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove the specified university.
requires authentication
Example request:
curl --request DELETE \
"https://vps117355.serveur-vps.net/api/admin/universities/019b0704-3838-7301-bd28-6a40c2eb29df" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/universities/019b0704-3838-7301-bd28-6a40c2eb29df"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
University Applications Management
Get all applications
requires authentication
Returns a paginated list of university applications.
You can filter by status, student, major or university.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/applications?status=Submitted&student_id=5&major_id=12&applied_university_id=8&page=1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/applications"
);
const params = {
"status": "Submitted",
"student_id": "5",
"major_id": "12",
"applied_university_id": "8",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Paginated list):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new application
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/applications" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"major_id\": \"consequatur\",
\"application_date\": \"2026-01-11T08:46:56\",
\"applied_university_id\": \"consequatur\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/applications"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"major_id": "consequatur",
"application_date": "2026-01-11T08:46:56",
"applied_university_id": "consequatur"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201):
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"application_date": "2025-12-11",
"status": "Draft",
"response_date": null,
"feedback": null,
"student": {
"id": 5,
"name": "John Doe"
},
"major": {
"id": 12,
"name": "Data Science"
},
"applied_university": {
"id": 8,
"name": "Tech University"
}
}
Example response (403):
{
"message": "Forbidden"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get single application
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/applications/656a15de-1305-4cb0-885d-715492c83a40" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/applications/656a15de-1305-4cb0-885d-715492c83a40"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"application_date": "2025-06-01",
"status": "Submitted",
"response_date": null,
"feedback": null,
"student": {
"id": 5,
"name": "John Doe"
},
"major": {
"id": 12,
"name": "Data Science"
},
"applied_university": {
"id": 8,
"name": "Tech University"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update application
requires authentication
Only status, response_date and feedback can be edited after creation.
Example request:
curl --request PUT \
"https://vps117355.serveur-vps.net/api/applications/656a15de-1305-4cb0-885d-715492c83a40" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"response_date\": \"2026-01-11T08:46:56\",
\"feedback\": \"consequatur\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/applications/656a15de-1305-4cb0-885d-715492c83a40"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"response_date": "2026-01-11T08:46:56",
"feedback": "consequatur"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{ ...updated resource... }
Example response (403):
{
"message": "Forbidden"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete application
requires authentication
Example request:
curl --request DELETE \
"https://vps117355.serveur-vps.net/api/applications/656a15de-1305-4cb0-885d-715492c83a40" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/applications/656a15de-1305-4cb0-885d-715492c83a40"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (204):
Empty response
Example response (403):
{
"message": "Forbidden"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
User Management
Endpoints to manage users (admin only for most operations).
Update user
requires authentication
Admins can update any user. Users can only update their own name and email. Only admins can change user roles.
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/users/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=John Doe"\
--form "email=john@example.com"\
--form "role_id=4"\
--form "profile_picture=@/tmp/phpWZ6oaJ" const url = new URL(
"https://vps117355.serveur-vps.net/api/users/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('name', 'John Doe');
body.append('email', 'john@example.com');
body.append('role_id', '4');
body.append('profile_picture', document.querySelector('input[name="profile_picture"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Example response (200, User updated successfully):
Example response (403, Not authorized):
Example response (404, User not found):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List all users with filters
requires authentication
Admins can filter by role, search by name/email, and view all users. Supports search, filtering, sorting, and pagination.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/users?role_id=1&search=John&sort_by=name&sort_order=asc&per_page=15" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"role_id\": 17,
\"search\": \"mqeopfuudtdsufvyvddqa\",
\"sort_by\": \"updated_at\",
\"sort_order\": \"asc\",
\"per_page\": 13
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/users"
);
const params = {
"role_id": "1",
"search": "John",
"sort_by": "name",
"sort_order": "asc",
"per_page": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"role_id": 17,
"search": "mqeopfuudtdsufvyvddqa",
"sort_by": "updated_at",
"sort_order": "asc",
"per_page": 13
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Paginated list of users):
Example response (403, Not authorized):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get user details
requires authentication
Returns user information including role, relationships, and student/adviser data.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/users/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/users/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, User details with all relationships):
Example response (403, Not authorized):
Example response (404, User not found):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update user
requires authentication
Admins can update any user. Users can only update their own name and email. Only admins can change user roles.
Example request:
curl --request PUT \
"https://vps117355.serveur-vps.net/api/admin/users/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=John Doe"\
--form "email=john@example.com"\
--form "role_id=4"\
--form "profile_picture=@/tmp/php9UZdiX" const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/users/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('name', 'John Doe');
body.append('email', 'john@example.com');
body.append('role_id', '4');
body.append('profile_picture', document.querySelector('input[name="profile_picture"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Example response (200, User updated successfully):
Example response (403, Not authorized):
Example response (404, User not found):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete user
requires authentication
Only admins can delete users, and cannot delete their own account.
Example request:
curl --request DELETE \
"https://vps117355.serveur-vps.net/api/admin/users/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/users/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (204, User deleted successfully):
Empty response
Example response (403, Not authorized or cannot delete self):
Example response (422, Cannot delete own account):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get users by role
requires authentication
Retrieve all users with a specific role.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/users-by-role?role_name=adviser&per_page=15" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"role_name\": \"admin\",
\"per_page\": 21
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/users-by-role"
);
const params = {
"role_name": "adviser",
"per_page": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"role_name": "admin",
"per_page": 21
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Paginated list of users with specified role):
Example response (403, Not authorized):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get user statistics
requires authentication
Returns total user count and breakdown by role.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/users-statistics" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/users-statistics"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, User statistics breakdown by role):
Example response (403, Not authorized):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Change user role
requires authentication
Admin-only endpoint to change a user's role with audit trail.
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/users/change-role" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_id\": 5,
\"role_id\": 2
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/users/change-role"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"user_id": 5,
"role_id": 2
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, User role changed successfully):
{
"message": "User role updated successfully",
"old_role": "adviser",
"new_role": "manager"
}
Example response (403, Not authorized):
Example response (404, User not found):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Bulk user operations
requires authentication
Supports bulk delete and bulk role change. Authenticated user is automatically excluded from operations.
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/users/bulk-action" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_ids\": \"[5, 6, 7]\",
\"action\": \"delete\",
\"role_id\": 2
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/users/bulk-action"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"user_ids": "[5, 6, 7]",
"action": "delete",
"role_id": 2
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Bulk operation completed):
{
"message": "Bulk operation completed",
"affected": 5,
"action": "delete"
}
Example response (403, Not authorized):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Export users to CSV
requires authentication
Exports user data as CSV file. Admins and managers can export; optional role filter available.
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/users-export?role_id=1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/users-export"
);
const params = {
"role_id": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, CSV file content with columns: ID, Name, Email, Role, Created At, Updated At):
Example response (403, Not authorized):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
User Notification Management
Endpoints to handle the authenticated user's notifications.
Flexible endpoint that supports filtering by status, limiting results, and pagination.
GET api/notifications
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/notifications?status=consequatur&limit=17&paginated=" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/notifications"
);
const params = {
"status": "consequatur",
"limit": "17",
"paginated": "0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.842220Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Display one notification and mark it as read.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/notifications/consequatur?status=consequatur&limit=17&paginated=" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/notifications/consequatur"
);
const params = {
"status": "consequatur",
"limit": "17",
"paginated": "0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.847209Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Mark all notifications as read.
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/notifications/read-all?status=consequatur&limit=17&paginated=" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/notifications/read-all"
);
const params = {
"status": "consequatur",
"limit": "17",
"paginated": "0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Users roles
Manage users and student roles.
Display a listing of all the roles.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/roles" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/roles"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.987944Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store a newly created resource in storage.
requires authentication
Example request:
curl --request POST \
"https://vps117355.serveur-vps.net/api/admin/roles" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"consequatur\",
\"description\": \"Dolores dolorum amet iste laborum eius est dolor.\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/roles"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "consequatur",
"description": "Dolores dolorum amet iste laborum eius est dolor."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Display the specified role.
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/roles/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/roles/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:56.993867Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update the role in the table.
requires authentication
Example request:
curl --request PUT \
"https://vps117355.serveur-vps.net/api/admin/roles/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"consequatur\",
\"description\": \"Dolores dolorum amet iste laborum eius est dolor.\"
}"
const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/roles/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "consequatur",
"description": "Dolores dolorum amet iste laborum eius est dolor."
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove the specified role from the table.
requires authentication
Example request:
curl --request DELETE \
"https://vps117355.serveur-vps.net/api/admin/roles/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/roles/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the users by a specified role
requires authentication
Example request:
curl --request GET \
--get "https://vps117355.serveur-vps.net/api/admin/roles/users/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://vps117355.serveur-vps.net/api/admin/roles/users/1"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"errors": "Unauthenticated.",
"timestamp": "2026-01-11T08:46:57.002172Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.