Info
Welcome to the generated API reference. Get Postman Collection
Authentication
For Endpoints handling User Authentication
Authenticate User
Uses basic authentication and returns a Json Web Token
Example request:
curl -X POST "http://localhost:8000/api/v1/auth" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/auth",
"method": "POST",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/auth
Refresh Access Token
Uses basic authentication and returns a Json Web Token
Example request:
curl -X POST "http://localhost:8000/api/v1/auth/refresh" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/auth/refresh",
"method": "POST",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/auth/refresh
Verify User's Email Address
Retrieve Token Information from the Request and Verify a User's Email with it
Example request:
curl -X GET "http://localhost:8000/api/v1/auth/verify" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/auth/verify",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "Wrong number of segments",
"exception": "Tymon\\JWTAuth\\Exceptions\\TokenInvalidException",
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/tymon\/jwt-auth\/src\/Validators\/TokenValidator.php",
"line": 37,
"trace": [
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/tymon\/jwt-auth\/src\/Validators\/TokenValidator.php",
"line": 26,
"function": "validateStructure",
"class": "Tymon\\JWTAuth\\Validators\\TokenValidator",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/tymon\/jwt-auth\/src\/Token.php",
"line": 30,
"function": "check",
"class": "Tymon\\JWTAuth\\Validators\\TokenValidator",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/tymon\/jwt-auth\/src\/JWTAuth.php",
"line": 277,
"function": "__construct",
"class": "Tymon\\JWTAuth\\Token",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Support\/Facades\/Facade.php",
"line": 223,
"function": "setToken",
"class": "Tymon\\JWTAuth\\JWTAuth",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/app\/Http\/Controllers\/Api\/AuthController.php",
"line": 105,
"function": "__callStatic",
"class": "Illuminate\\Support\\Facades\\Facade",
"type": "::"
},
{
"function": "verify",
"class": "App\\Http\\Controllers\\Api\\AuthController",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Controller.php",
"line": 54,
"function": "call_user_func_array"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/ControllerDispatcher.php",
"line": 45,
"function": "callAction",
"class": "Illuminate\\Routing\\Controller",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Route.php",
"line": 212,
"function": "dispatch",
"class": "Illuminate\\Routing\\ControllerDispatcher",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Route.php",
"line": 169,
"function": "runController",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Router.php",
"line": 665,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Pipeline.php",
"line": 30,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/app\/Http\/Middleware\/UseTransaction.php",
"line": 29,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Pipeline\/Pipeline.php",
"line": 151,
"function": "handle",
"class": "App\\Http\\Middleware\\UseTransaction",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Pipeline.php",
"line": 53,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Middleware\/SubstituteBindings.php",
"line": 41,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Pipeline\/Pipeline.php",
"line": 151,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Pipeline.php",
"line": 53,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Pipeline\/Pipeline.php",
"line": 104,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Router.php",
"line": 667,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Router.php",
"line": 642,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Router.php",
"line": 608,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Router.php",
"line": 597,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/Http\/Kernel.php",
"line": 176,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Pipeline.php",
"line": 30,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/fideloper\/proxy\/src\/TrustProxies.php",
"line": 57,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Pipeline\/Pipeline.php",
"line": 151,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Pipeline.php",
"line": 53,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/Http\/Middleware\/TransformsRequest.php",
"line": 31,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Pipeline\/Pipeline.php",
"line": 151,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Pipeline.php",
"line": 53,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/Http\/Middleware\/TransformsRequest.php",
"line": 31,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Pipeline\/Pipeline.php",
"line": 151,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Pipeline.php",
"line": 53,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/Http\/Middleware\/ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Pipeline\/Pipeline.php",
"line": 151,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Pipeline.php",
"line": 53,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/Http\/Middleware\/CheckForMaintenanceMode.php",
"line": 62,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Pipeline\/Pipeline.php",
"line": 151,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Pipeline.php",
"line": 53,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Pipeline\/Pipeline.php",
"line": 104,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/Http\/Kernel.php",
"line": 151,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/Http\/Kernel.php",
"line": 116,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/mpociot\/laravel-apidoc-generator\/src\/Mpociot\/ApiDoc\/Generators\/LaravelGenerator.php",
"line": 116,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/mpociot\/laravel-apidoc-generator\/src\/Mpociot\/ApiDoc\/Generators\/AbstractGenerator.php",
"line": 98,
"function": "callRoute",
"class": "Mpociot\\ApiDoc\\Generators\\LaravelGenerator",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/mpociot\/laravel-apidoc-generator\/src\/Mpociot\/ApiDoc\/Generators\/LaravelGenerator.php",
"line": 58,
"function": "getRouteResponse",
"class": "Mpociot\\ApiDoc\\Generators\\AbstractGenerator",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/mpociot\/laravel-apidoc-generator\/src\/Mpociot\/ApiDoc\/Commands\/GenerateDocumentation.php",
"line": 261,
"function": "processRoute",
"class": "Mpociot\\ApiDoc\\Generators\\LaravelGenerator",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/mpociot\/laravel-apidoc-generator\/src\/Mpociot\/ApiDoc\/Commands\/GenerateDocumentation.php",
"line": 83,
"function": "processLaravelRoutes",
"class": "Mpociot\\ApiDoc\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"function": "handle",
"class": "Mpociot\\ApiDoc\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Container\/BoundMethod.php",
"line": 29,
"function": "call_user_func_array"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Container\/BoundMethod.php",
"line": 87,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Container\/BoundMethod.php",
"line": 31,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Container\/Container.php",
"line": 564,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Console\/Command.php",
"line": 179,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/symfony\/console\/Command\/Command.php",
"line": 251,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Console\/Command.php",
"line": 166,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Console\/Command.php",
"line": 194,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/app\/Console\/Commands\/GenerateDocsCommand.php",
"line": 60,
"function": "call",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"function": "handle",
"class": "App\\Console\\Commands\\GenerateDocsCommand",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Container\/BoundMethod.php",
"line": 29,
"function": "call_user_func_array"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Container\/BoundMethod.php",
"line": 87,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Container\/BoundMethod.php",
"line": 31,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Container\/Container.php",
"line": 564,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Console\/Command.php",
"line": 179,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/symfony\/console\/Command\/Command.php",
"line": 251,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Console\/Command.php",
"line": 166,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/symfony\/console\/Application.php",
"line": 886,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/symfony\/console\/Application.php",
"line": 262,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/symfony\/console\/Application.php",
"line": 145,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Console\/Application.php",
"line": 89,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/Console\/Kernel.php",
"line": 122,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "\/Users\/seniortechnicalconsultant\/Dev\/websites\/college-portal\/college-portal\/artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
HTTP Request
GET api/v1/auth/verify
HEAD api/v1/auth/verify
Resent Verification Mail
Accept email-verification token and resend mail if valid
Example request:
curl -X POST "http://localhost:8000/api/v1/auth/resend" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/auth/resend",
"method": "POST",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/auth/resend
Get Current User
Retrieve information about the current authenticated user
Example request:
curl -X GET "http://localhost:8000/api/v1/user" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/user",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/user
HEAD api/v1/user
Chargeable Services
For Endpoints handling Chargeable Services, which represent the charges assigned to a model, denoted by the $type property.
Get Chargeable Services
Responds with a list of chargeable services
- Rules of Access
- User is in the same school
- Filters
- ?with_schools
- ?with_chargeables
- ?school={id}
Example request:
curl -X GET "http://localhost:8000/api/v1/chargeable-services" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/chargeable-services",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/chargeable-services
HEAD api/v1/chargeable-services
Create Chargeable Service
Supply chargeable service information to create a new one
- Rules of Access
- User is an ADMIN or
- User owns school the Chargeable Service belongs to
Example request:
curl -X POST "http://localhost:8000/api/v1/chargeable-services" \
-H "Accept: application/json" \
-d "school_id"="4352" \
-d "type"="CollegePortal\Models\Semester" \
-d "name"="dignissimos" \
-d "description"="dignissimos" \
-d "amount"="948870890" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/chargeable-services",
"method": "POST",
"data": {
"school_id": 4352,
"type": "CollegePortal\\Models\\Semester",
"name": "dignissimos",
"description": "dignissimos",
"amount": 948870890
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/chargeable-services
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
school_id | numeric | required | Valid school id |
type | string | required | CollegePortal\Models\Semester or CollegePortal\Models\Session |
name | string | required | |
description | string | optional | |
amount | numeric | required | Minimum: 0 |
Get Chargeable Service by ID
Responds with a specific chargeable service by its ID
- Rules of Access
- User is in the same school
- Filters
- ?with_schools
- ?with_chargeables
- ?school={id}
Example request:
curl -X GET "http://localhost:8000/api/v1/chargeable-services/{chargeable_service}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/chargeable-services/{chargeable_service}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/chargeable-services/{chargeable_service}
HEAD api/v1/chargeable-services/{chargeable_service}
Update Chargeable Service
Modify information about an existing Chargeable Service by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Chargeable Service belongs to
Example request:
curl -X PUT "http://localhost:8000/api/v1/chargeable-services/{chargeable_service}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/chargeable-services/{chargeable_service}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/chargeable-services/{chargeable_service}
PATCH api/v1/chargeable-services/{chargeable_service}
Delete Chargeable Service
Removes a Chargeable Service from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Chargeable Service belongs to
Example request:
curl -X DELETE "http://localhost:8000/api/v1/chargeable-services/{chargeable_service}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/chargeable-services/{chargeable_service}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/chargeable-services/{chargeable_service}
Chargeables
For Endpoints handling Chargeables, which represent a particular cost/charge for a service.
Gets Chargeables
Responds with a list of Chargeables
- Rules of Access
- User is in same school as the Chargeable
- Filters
- ?with_service (includes the chargeable service)
- ?with_owner (includes the chargeable's owner)
- ?with_school (includes the chargeable's school)
- ?service={id} (filters by the chargeable service id)
- ?owner={id} (filters by the owner id)
- ?min_amount={amount} (filters by minimum amount)
- ?max_amount={amount} (filters by maximum amount)
Example request:
curl -X GET "http://localhost:8000/api/v1/chargeables" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/chargeables",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/chargeables
HEAD api/v1/chargeables
Create Chargeable
Supply chargeable information to create a new one
- Rules of Access
- User can view Chargeable Service and
- User can update the owner of the Chargeable (See Chargeable Model)
Example request:
curl -X POST "http://localhost:8000/api/v1/chargeables" \
-H "Accept: application/json" \
-d "chargeable_service_id"="2" \
-d "owner_id"="2" \
-d "amount"="2" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/chargeables",
"method": "POST",
"data": {
"chargeable_service_id": 2,
"owner_id": 2,
"amount": 2
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/chargeables
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
chargeable_service_id | numeric | required | Valid chargeable_service id |
owner_id | numeric | required | |
amount | numeric | optional |
Get Chargeable by ID
Responds with a specific Chargeable by its ID
- Rules of Access
- User is in same school as the Chargeable
- Filters
- ?with_service (includes the chargeable service)
- ?with_owner (includes the chargeable's owner)
- ?with_school (includes the chargeable's school)
- ?service={id} (filters by the chargeable service id)
- ?owner={id} (filters by the owner id)
- ?min_amount={amount} (filters by minimum amount)
- ?max_amount={amount} (filters by maximum amount)
Example request:
curl -X GET "http://localhost:8000/api/v1/chargeables/{chargeable}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/chargeables/{chargeable}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/chargeables/{chargeable}
HEAD api/v1/chargeables/{chargeable}
Update Chargeable
Modify information about an existing chargeable by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Chargeable belongs to
Example request:
curl -X PUT "http://localhost:8000/api/v1/chargeables/{chargeable}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/chargeables/{chargeable}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/chargeables/{chargeable}
PATCH api/v1/chargeables/{chargeable}
Delete Chargeable
Removes a Chargeable from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Chargeable belongs to
Example request:
curl -X DELETE "http://localhost:8000/api/v1/chargeables/{chargeable}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/chargeables/{chargeable}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/chargeables/{chargeable}
Content Types
For Endpoints handling Content Types, which represent an extension of a model, denoted by the $type property
Get Content Types
Responds with a list of Content Types
- Rules of Access
- User is in the same school
Example request:
curl -X GET "http://localhost:8000/api/v1/content-types" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/content-types",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/content-types
HEAD api/v1/content-types
Create Content Type
Supply Content Type information to create a new one
- Rules of Access
- User is an ADMIN or
- User owns school the Content Type belongs to
Example request:
curl -X POST "http://localhost:8000/api/v1/content-types" \
-H "Accept: application/json" \
-d "type"="CollegePortal\Models\IntentType" \
-d "name"="eum" \
-d "display_name"="eum" \
-d "school_id"="60011966" \
-d "format"="boolean" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/content-types",
"method": "POST",
"data": {
"type": "CollegePortal\\Models\\IntentType",
"name": "eum",
"display_name": "eum",
"school_id": 60011966,
"format": "boolean"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/content-types
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
type | string | required | CollegePortal\Models\User , CollegePortal\Models\School , CollegePortal\Models\Role , CollegePortal\Models\Staff , CollegePortal\Models\Student , CollegePortal\Models\Faculty , CollegePortal\Models\Program , CollegePortal\Models\Course , CollegePortal\Models\Session , CollegePortal\Models\Semester , CollegePortal\Models\Department , CollegePortal\Models\UserHasRole , CollegePortal\Models\ChargeableService , CollegePortal\Models\Chargeable , CollegePortal\Models\ProgramCredit , CollegePortal\Models\Payable , CollegePortal\Models\CourseDependency , CollegePortal\Models\IntentType , CollegePortal\Models\Intent , CollegePortal\Models\Image or CollegePortal\Models\ImageType |
name | string | required | |
display_name | string | required | |
school_id | numeric | required | Valid school id |
format | string | required | array , datetime , number , string , boolean or object |
Get Content Type by ID
Responds with a specific Content Type by its ID
- Rules of Access
- User is in the same school
Example request:
curl -X GET "http://localhost:8000/api/v1/content-types/{content_type}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/content-types/{content_type}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/content-types/{content_type}
HEAD api/v1/content-types/{content_type}
Update Content Type
Modify information about an existing Content Type by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Content Type belongs to
Example request:
curl -X PUT "http://localhost:8000/api/v1/content-types/{content_type}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/content-types/{content_type}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/content-types/{content_type}
PATCH api/v1/content-types/{content_type}
Delete Content Type
Removes a Content Type from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the ContentType belongs to
Example request:
curl -X DELETE "http://localhost:8000/api/v1/content-types/{content_type}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/content-types/{content_type}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/content-types/{content_type}
Contents
For Endpoints handling Content, which represent a value property for a particular model, belonging to a Content Type
Get Contents
Responds with a list of Content
Example request:
curl -X GET "http://localhost:8000/api/v1/contents" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/contents",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/contents
HEAD api/v1/contents
Create Content
Supply Content information to create a new one
- Rules of Access
- User can update the model the Content belongs to
Example request:
curl -X POST "http://localhost:8000/api/v1/contents" \
-H "Accept: application/json" \
-d "owner_id"="7750997" \
-d "content_type_id"="7750997" \
-d "value"="nobis" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/contents",
"method": "POST",
"data": {
"owner_id": 7750997,
"content_type_id": 7750997,
"value": "nobis"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/contents
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
owner_id | numeric | required | |
content_type_id | numeric | required | Valid content_type id |
value | string | required |
Get Content by ID
Responds with a specific Content by its ID
- Rules of Access
- User is in the same school as the user who owns the content
Example request:
curl -X GET "http://localhost:8000/api/v1/contents/{content}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/contents/{content}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/contents/{content}
HEAD api/v1/contents/{content}
Update Content
Modify information about an existing Content by ID
- Rules of Access
- User can update the model the Content belongs to
Example request:
curl -X PUT "http://localhost:8000/api/v1/contents/{content}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/contents/{content}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/contents/{content}
PATCH api/v1/contents/{content}
Delete Content
Removes a Content from the System by ID
- Rules of Access
- User can update the model the Content belongs to
Example request:
curl -X DELETE "http://localhost:8000/api/v1/contents/{content}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/contents/{content}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/contents/{content}
Course Dependencies
For Endpoints handling Course Dependencies, which point to courses a students needs to have passed before he/she can subscribe to a course. E.g. You must pass MATH 101 to subscribe to MATH 201
Get Course Dependencies
Responds with a list of Course Dependencies
- Rules of Access
- User is in the same school
- Filters
- ?with_course
- ?with_dependency
- ?course={id} filter by course id
- ?dependency={id} filter by dependency id (also a course)
Example request:
curl -X GET "http://localhost:8000/api/v1/course-dependencies" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/course-dependencies",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/course-dependencies
HEAD api/v1/course-dependencies
Create Course Dependency
Supply Course information to create a new one
- Rules of Access
- User can update course and
- User can update dependency
Example request:
curl -X POST "http://localhost:8000/api/v1/course-dependencies" \
-H "Accept: application/json" \
-d "course_id"="79370" \
-d "dependency_id"="79370" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/course-dependencies",
"method": "POST",
"data": {
"course_id": 79370,
"dependency_id": 79370
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/course-dependencies
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
course_id | numeric | required | Valid course id Must have a different value than parameter: dependency_id |
dependency_id | numeric | required | Valid course id Must have a different value than parameter: course_id |
Get Course Dependency by ID
Responds with a specific Course Dependency by its ID
- Rules of Access
- User is in the same school
- Filters
- ?with_course
- ?with_dependency
Example request:
curl -X GET "http://localhost:8000/api/v1/course-dependencies/{course_dependency}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/course-dependencies/{course_dependency}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/course-dependencies/{course_dependency}
HEAD api/v1/course-dependencies/{course_dependency}
Update Course Dependency
Modifies information about an existing Course Dependency
- Rules of Access
- User is an ADMIN or
- User owns school the Course and Dependency belongs to or
- User is Dean of Faculty the Course and Dependency belongs to or
- User is HOD of Department the Course and Dependency belongs to
Example request:
curl -X PUT "http://localhost:8000/api/v1/course-dependencies/{course_dependency}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/course-dependencies/{course_dependency}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/course-dependencies/{course_dependency}
PATCH api/v1/course-dependencies/{course_dependency}
Delete Course Dependency
Removes a Course Dependency from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Course and Dependency belongs to or
- User is Dean of Faculty the Course and Dependency belongs to or
- User is HOD of Department the Course and Dependency belongs to
Example request:
curl -X DELETE "http://localhost:8000/api/v1/course-dependencies/{course_dependency}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/course-dependencies/{course_dependency}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/course-dependencies/{course_dependency}
Courses
For Endpoints handling Courses, which represent a subject, managed by a department, that students can subscribe to, learn and receive Grades for having learnt.
Get Courses
Responds with a list of Courses
- Rules of Access
- User is in the same school
- Filters
- ?with_dependencies
- ?with_staff
- ?with_department
- ?with_semester_type
- ?with_level
- ?with_school
- ?with_faculty
Example request:
curl -X GET "http://localhost:8000/api/v1/courses" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/courses",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/courses
HEAD api/v1/courses
Create Course
Supply Course information to create a new one
- Rules of Access
- User can view course's department, level, semester_type and
- User is an administrator or
- User owns school the Course belongs to or
- User is Dean of Faculty the Course belongs to or
- User is HOD of Department the Course belongs to
Example request:
curl -X POST "http://localhost:8000/api/v1/courses" \
-H "Accept: application/json" \
-d "department_id"="6654700" \
-d "semester_type_id"="6654700" \
-d "level_id"="6654700" \
-d "code"="omnis" \
-d "title"="omnis" \
-d "credit"="6654700" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/courses",
"method": "POST",
"data": {
"department_id": 6654700,
"semester_type_id": 6654700,
"level_id": 6654700,
"code": "omnis",
"title": "omnis",
"credit": 6654700
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/courses
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
department_id | numeric | required | Valid department id |
semester_type_id | numeric | required | Valid semester_type id |
level_id | numeric | required | Valid level id |
code | string | required | |
title | string | required | |
credit | numeric | required |
Get Course by ID
Responds with a specific course by its ID
- Rules of Access
- User is in the same school
- Filters
- ?with_dependencies
- ?with_staff
- ?with_department
- ?with_semester_type
- ?with_level
- ?with_school
- ?with_faculty
Example request:
curl -X GET "http://localhost:8000/api/v1/courses/{course}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/courses/{course}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/courses/{course}
HEAD api/v1/courses/{course}
Update Course
Modify information about an existing Course by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Course belongs to
Example request:
curl -X PUT "http://localhost:8000/api/v1/courses/{course}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/courses/{course}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/courses/{course}
PATCH api/v1/courses/{course}
Delete Course
Removes a Course from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Course belongs to or
- User is Dean of Faculty the Course belongs to or
- User is HOD of Department the Course belongs to
Example request:
curl -X DELETE "http://localhost:8000/api/v1/courses/{course}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/courses/{course}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/courses/{course}
Departments
For Endpoints handling Departments, which is a division within a Faculty comprising one or more study programs.
Get Departments
Responds with a list of Departments
- Rules of Access
- User is in the same school
- Filters
- ?with_faculty
- ?with_hod
- ?with_programs
- ?with_staff
- ?with_students
Example request:
curl -X GET "http://localhost:8000/api/v1/departments" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/departments",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/departments
HEAD api/v1/departments
Create Department
Supply Department information to create a new one
- Rules of Access
- User is an administrator or
- User owns school the Department belongs to or
- User is Dean of Faculty the Department belongs to
Example request:
curl -X POST "http://localhost:8000/api/v1/departments" \
-H "Accept: application/json" \
-d "name"="rem" \
-d "hod_id"="84163" \
-d "faculty_id"="84163" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/departments",
"method": "POST",
"data": {
"name": "rem",
"hod_id": 84163,
"faculty_id": 84163
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/departments
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
name | string | required | |
hod_id | numeric | required | Valid staff id |
faculty_id | numeric | required | Valid faculty id |
Get Department by ID
Responds with a specific Department by its ID
- Rules of Access
- User is in the same school
- Filters
- ?with_faculty
- ?with_hod
- ?with_programs
- ?with_staff
- ?with_students
Example request:
curl -X GET "http://localhost:8000/api/v1/departments/{department}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/departments/{department}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/departments/{department}
HEAD api/v1/departments/{department}
Update Department
Modify information about an existing Department by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Department belongs to or
- User is Dean of Faculty the Department belongs to or
- User is HOD of the Department
Example request:
curl -X PUT "http://localhost:8000/api/v1/departments/{department}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/departments/{department}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/departments/{department}
PATCH api/v1/departments/{department}
Delete Department
Removes a Department from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Department belongs to or
- User is Dean of Faculty the Department belongs to or
- User is HOD of the Department
Example request:
curl -X DELETE "http://localhost:8000/api/v1/departments/{department}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/departments/{department}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/departments/{department}
Faculties
For Endpoints handling Faculties, which is a division within a School comprising one or more departments.
Get Faculties
Responds with a list of Faculties
- Rules of Access
- User is in the same school
- Filters
- ?with_departments
- ?with_programs
- ?with_students
- ?with_staff
- ?with_users
Example request:
curl -X GET "http://localhost:8000/api/v1/faculties" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/faculties",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/faculties
HEAD api/v1/faculties
Create Faculty
Supply Faculty information to create a new one
- Rules of Access
- User is an administrator or
- User owns school the Faculty belongs to
Example request:
curl -X POST "http://localhost:8000/api/v1/faculties" \
-H "Accept: application/json" \
-d "name"="ullam" \
-d "school_id"="153" \
-d "dean_id"="153" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/faculties",
"method": "POST",
"data": {
"name": "ullam",
"school_id": 153,
"dean_id": 153
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/faculties
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
name | string | required | |
school_id | numeric | required | Valid school id |
dean_id | numeric | required | Valid staff id |
Get Faculty by ID
Responds with a specific Faculty by its ID
- Rules of Access
- User is in the same school
- Filters
- ?with_departments
- ?with_programs
- ?with_students
- ?with_staff
- ?with_users
Example request:
curl -X GET "http://localhost:8000/api/v1/faculties/{faculty}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/faculties/{faculty}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/faculties/{faculty}
HEAD api/v1/faculties/{faculty}
Update Faculty
Modify information about an existing Faculty by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Faculty belongs to or
- User is Dean of the Faculty
Example request:
curl -X PUT "http://localhost:8000/api/v1/faculties/{faculty}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/faculties/{faculty}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/faculties/{faculty}
PATCH api/v1/faculties/{faculty}
Delete Faculty
Removes a Faculty from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Faculty belongs to or
- User is Dean of the Faculty
Example request:
curl -X DELETE "http://localhost:8000/api/v1/faculties/{faculty}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/faculties/{faculty}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/faculties/{faculty}
Grade Types
For Endpoints handling Grade Types, which is a classification for grade scores. E.g. a score between 70 and 100 is an A.
Get Grade Types
Responds with a list of Grades in school
Example request:
curl -X GET "http://localhost:8000/api/v1/schools/{school_id}/grade-types" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/grade-types",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/schools/{school_id}/grade-types
HEAD api/v1/schools/{school_id}/grade-types
Create Grade Type
Supply Grade Type information to create a new one
- Rules of Access
- User is an ADMIN or
- User is the school owner
Example request:
curl -X POST "http://localhost:8000/api/v1/schools/{school_id}/grade-types" \
-H "Accept: application/json" \
-d "name"="nulla" \
-d "value"="85" \
-d "minimum"="85" \
-d "maximum"="85" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/grade-types",
"method": "POST",
"data": {
"name": "nulla",
"value": 85,
"minimum": 85,
"maximum": 85
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/schools/{school_id}/grade-types
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
name | string | required | |
value | numeric | required | Minimum: 0 Maximum: 100 |
minimum | numeric | required | Minimum: 0 Maximum: 100 |
maximum | numeric | required | Minimum: 0 Maximum: 100 |
Get Grade Type by ID
Responds with a specific Grade by its ID
Example request:
curl -X GET "http://localhost:8000/api/v1/schools/{school_id}/grade-types/{grade_type}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/grade-types/{grade_type}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/schools/{school_id}/grade-types/{grade_type}
HEAD api/v1/schools/{school_id}/grade-types/{grade_type}
Update Grade Type
Modify information about an existing Grade Type by ID
- Rules of Access
- User is an ADMIN or
- User is the school owner
Example request:
curl -X PUT "http://localhost:8000/api/v1/schools/{school_id}/grade-types/{grade_type}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/grade-types/{grade_type}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/schools/{school_id}/grade-types/{grade_type}
PATCH api/v1/schools/{school_id}/grade-types/{grade_type}
Delete Grade Type
Removes a Grade Type from the System by ID
- Rules of Access
- User is an ADMIN or
- User is the school owner
Example request:
curl -X DELETE "http://localhost:8000/api/v1/schools/{school_id}/grade-types/{grade_type}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/grade-types/{grade_type}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/schools/{school_id}/grade-types/{grade_type}
Grades
For Endpoints handling Grades, which is a partial or total score a lecturer assigns to a student who takes a course he/she is in charge of.
Get Grades
Responds with a list of Grades
- Rules of Access
- User can update grade student or
- Grade belongs to current User
- Filters
- ?with_student
- ?with_staff
- ?with_course
- ?with_school
- ?with_users
- ?with_total
Example request:
curl -X GET "http://localhost:8000/api/v1/grades" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/grades",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/grades
HEAD api/v1/grades
Create Grade
Supply Grade information to create a new one
- Rules of Access
- User is an ADMIN or
- User is the staff that taught the Course or
- User is the school owner or
- User is the Dean of the Faculty the Course belongs to
- User is the HOD of the Department the Course belongs to
Example request:
curl -X POST "http://localhost:8000/api/v1/grades" \
-H "Accept: application/json" \
-d "student_takes_course_id"="94746801" \
-d "score"="94746801" \
-d "description"="dolorem" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/grades",
"method": "POST",
"data": {
"student_takes_course_id": 94746801,
"score": 94746801,
"description": "dolorem"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/grades
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
student_takes_course_id | numeric | required | Valid student_takes_course id |
score | numeric | required | |
description | string | required |
Get Grade by ID
Responds with a specific Grade by its ID
- Rules of Access
- User can update grade student or
- Grade belongs to current User
- Filters
- ?with_student
- ?with_staff
- ?with_course
- ?with_school
- ?with_users
- ?with_total
Example request:
curl -X GET "http://localhost:8000/api/v1/grades/{grade}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/grades/{grade}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/grades/{grade}
HEAD api/v1/grades/{grade}
Update Grade
Modify information about an existing Grade by ID
- Rules of Access
- User is an ADMIN or
- User is the staff that taught the Course or
- User is the school owner or
- User is the Dean of the Faculty the Course belongs to
- User is the HOD of the Department the Course belongs to
Example request:
curl -X PUT "http://localhost:8000/api/v1/grades/{grade}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/grades/{grade}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/grades/{grade}
PATCH api/v1/grades/{grade}
Delete Grade
Removes a Grade from the System by ID
- Rules of Access
- User is an ADMIN or
- User is the staff that taught the Course or
- User is the school owner or
- User is the Dean of the Faculty the Course belongs to
- User is the HOD of the Department the Course belongs to
Example request:
curl -X DELETE "http://localhost:8000/api/v1/grades/{grade}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/grades/{grade}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/grades/{grade}
Image Types
For Endpoints handling Image Types, which represent images belonging to a model, denoted by the $type property.
Get Image Types
Responds with a list of Image Types
- Rules of Access
- User is in the same school
Example request:
curl -X GET "http://localhost:8000/api/v1/schools/{school_id}/image-types" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/image-types",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/schools/{school_id}/image-types
HEAD api/v1/schools/{school_id}/image-types
Create Image Type
Supply Image Type information to create a new one
- Rules of Access
- User is an ADMIN or
- User owns school the Image Type belongs to
Example request:
curl -X POST "http://localhost:8000/api/v1/schools/{school_id}/image-types" \
-H "Accept: application/json" \
-d "type"="ut" \
-d "name"="ut" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/image-types",
"method": "POST",
"data": {
"type": "ut",
"name": "ut"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/schools/{school_id}/image-types
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
type | string | required | |
name | string | required |
Get Image Type by ID
Responds with a specific Image Type by its ID
- Rules of Access
- User is in the same school
Example request:
curl -X GET "http://localhost:8000/api/v1/schools/{school_id}/image-types/{image_type}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/image-types/{image_type}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/schools/{school_id}/image-types/{image_type}
HEAD api/v1/schools/{school_id}/image-types/{image_type}
Update Image Type
Modify information about an existing Image Type by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Image belongs to
Example request:
curl -X PUT "http://localhost:8000/api/v1/schools/{school_id}/image-types/{image_type}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/image-types/{image_type}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/schools/{school_id}/image-types/{image_type}
PATCH api/v1/schools/{school_id}/image-types/{image_type}
Delete Image Type
Removes a Image Type from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Image belongs to
Example request:
curl -X DELETE "http://localhost:8000/api/v1/schools/{school_id}/image-types/{image_type}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/image-types/{image_type}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/schools/{school_id}/image-types/{image_type}
Images
For Endpoints handling Images, which represent a particular jpeg/png/etc resource belonging to an Image Type
Get Images
Responds with a list of Images
- Rules of Access
- User is in the same school
Example request:
curl -X GET "http://localhost:8000/api/v1/images" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/images",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/images
HEAD api/v1/images
Create Image
Supply Image information to create a new one
- Rules of Access
- User can view image type and
- User can update image owner
Example request:
curl -X POST "http://localhost:8000/api/v1/images" \
-H "Accept: application/json" \
-d "owner_id"="21" \
-d "image_type_id"="21" \
-d "file"="nesciunt" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/images",
"method": "POST",
"data": {
"owner_id": 21,
"image_type_id": 21,
"file": "nesciunt"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/images
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
owner_id | numeric | required | |
image_type_id | numeric | required | Valid image_type id |
file | image | required | Must be an image (jpeg, png, bmp, gif, or svg) |
Get Image by ID
Responds with a specific Image by its ID
- Rules of Access
- User is in the same school
Example request:
curl -X GET "http://localhost:8000/api/v1/images/{image}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/images/{image}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/images/{image}
HEAD api/v1/images/{image}
Update Image
Modify information about an existing Image by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Image belongs to
Example request:
curl -X PUT "http://localhost:8000/api/v1/images/{image}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/images/{image}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/images/{image}
PATCH api/v1/images/{image}
Delete Image
Removes a Image from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Image belongs to
Example request:
curl -X DELETE "http://localhost:8000/api/v1/images/{image}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/images/{image}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/images/{image}
Update Image
Modify information about an existing Image by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Image belongs to
Example request:
curl -X POST "http://localhost:8000/api/v1/images/{id}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/images/{id}",
"method": "POST",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/images/{id}
Intent Types
For Endpoints handling Intent Types, which represent a group of intents
Get Intent Types
Responds with a list of Intent Types
Example request:
curl -X GET "http://localhost:8000/api/v1/intent-types" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/intent-types",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/intent-types
HEAD api/v1/intent-types
Create Intent Type
Supply Intent Type information to create a new one
- Rules of Access
- User is an ADMIN
Example request:
curl -X POST "http://localhost:8000/api/v1/intent-types" \
-H "Accept: application/json" \
-d "name"="et" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/intent-types",
"method": "POST",
"data": {
"name": "et"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/intent-types
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
name | string | required |
Get Intent Type by ID
Responds with a specific Intent Type by its ID
Example request:
curl -X GET "http://localhost:8000/api/v1/intent-types/{intent_type}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/intent-types/{intent_type}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/intent-types/{intent_type}
HEAD api/v1/intent-types/{intent_type}
Update Intent Type
Modifies information on an existing Intent Type
- Rules of Access
- User is an ADMIN
Example request:
curl -X PUT "http://localhost:8000/api/v1/intent-types/{intent_type}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/intent-types/{intent_type}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/intent-types/{intent_type}
PATCH api/v1/intent-types/{intent_type}
Delete Intent Type
Removes an Intent Type from the System by ID
- Rules of Access
- User is an ADMIN
Example request:
curl -X DELETE "http://localhost:8000/api/v1/intent-types/{intent_type}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/intent-types/{intent_type}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/intent-types/{intent_type}
Intents
For Endpoints handling Intents, which represent an intention of a user to perform some action in the future, such as "change-password". Each belongs to a particular Intent Type.
Get Intent by ID
Responds with a list of Intents
- Rules of Access
- User owns Intents
Example request:
curl -X GET "http://localhost:8000/api/v1/intents" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/intents",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/intents
HEAD api/v1/intents
Create Intent
Supply Intent information to create a new one
Example request:
curl -X POST "http://localhost:8000/api/v1/intents" \
-H "Accept: application/json" \
-d "user_id"="4546976" \
-d "intent_type_id"="4546976" \
-d "intent_type"="nobis" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/intents",
"method": "POST",
"data": {
"user_id": 4546976,
"intent_type_id": 4546976,
"intent_type": "nobis"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/intents
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
user_id | numeric | optional | Valid user id |
intent_type_id | numeric | optional | Valid intent_type id |
intent_type | string | optional | Valid intent_type name |
Get Intent by ID
Responds with a specific Intent by its ID
- Rules of Access
- User owns Intent
Example request:
curl -X GET "http://localhost:8000/api/v1/intents/{intent}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/intents/{intent}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/intents/{intent}
HEAD api/v1/intents/{intent}
Update Intent (Not Supported)
Example request:
curl -X PUT "http://localhost:8000/api/v1/intents/{intent}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/intents/{intent}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/intents/{intent}
PATCH api/v1/intents/{intent}
Delete Intent
Removes an Intent from the System by ID
- Rules of Access
- User owns Intent
Example request:
curl -X DELETE "http://localhost:8000/api/v1/intents/{intent}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/intents/{intent}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/intents/{intent}
Invites
For Endpoints handling Invites, which represent an invitation given by an administrator, or school-owner to a potential user, denoted by $email.
Get Invites
Responds with a list of Invites the user has access to view
- Rules of Access
- User is an ADMIN
- User owns school where Invite is made to
- User has role of INVITE_CREATOR in school where Invite is made to
- User created the Invite
Example request:
curl -X GET "http://localhost:8000/api/v1/invites" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/invites",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/invites
HEAD api/v1/invites
Create Invite
Supply Invite information to create a new one
- Rules of Access
- User can invite an ADMIN only if User is an ADMIN
- User can invite a SCHOOL_OWNER if User is an ADMIN or SCHOOL_OWNER in same school
- User can invite anyone else to a school if User is ADMIN / SCHOOL_OWNER / INVITE_CREATOR
Example request:
curl -X POST "http://localhost:8000/api/v1/invites" \
-H "Accept: application/json" \
-d "email"="lamont.littel@example.org" \
-d "role_id"="2931" \
-d "roles"="autem" \
-d "school_id"="2931" \
-d "message"="autem" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/invites",
"method": "POST",
"data": {
"email": "lamont.littel@example.org",
"role_id": 2931,
"roles": "autem",
"school_id": 2931,
"message": "autem"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/invites
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
required | |||
role_id | numeric | optional | Required if the parameters roles are not present. Valid role id |
roles | array | optional | Required if the parameters role_id are not present. |
school_id | numeric | optional | Valid school id |
message | string | required |
Get Invite by ID
Responds with a specific Invite by its ID
- Rules of Access
- User is an ADMIN
- User owns school where Invite is made to
- User has role of INVITE_CREATOR in school where Invite is made to
- User created the Invite
Example request:
curl -X GET "http://localhost:8000/api/v1/invites/{invite}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/invites/{invite}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/invites/{invite}
HEAD api/v1/invites/{invite}
Update Invite
Modify information about an existing Invite by ID
- Rules of Access
- Invite was made to User's email address
Example request:
curl -X PUT "http://localhost:8000/api/v1/invites/{invite}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/invites/{invite}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/invites/{invite}
PATCH api/v1/invites/{invite}
Delete Invite
Removes a Invite from the System by ID
- Rules of Access
- User is an ADMIN
- User owns school where Invite is made to
- User has role of INVITE_CREATOR in school where Invite is made to
- User created the Invite
Example request:
curl -X DELETE "http://localhost:8000/api/v1/invites/{invite}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/invites/{invite}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/invites/{invite}
Levels
For Endpoints handling Levels, which represent a year within the school system.
Get Levels
Responds with a list of Levels
- Rules of Access
- User is in the same school
Example request:
curl -X GET "http://localhost:8000/api/v1/schools/{school_id}/levels" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/levels",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/schools/{school_id}/levels
HEAD api/v1/schools/{school_id}/levels
Create Level
Supply Level information to create a new one
- Rules of Access
- User is an ADMIN or
- User owns school the Level belongs to
Example request:
curl -X POST "http://localhost:8000/api/v1/schools/{school_id}/levels" \
-H "Accept: application/json" \
-d "name"="ut" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/levels",
"method": "POST",
"data": {
"name": "ut"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/schools/{school_id}/levels
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
name | string | required |
Get Level by ID
Responds with a specific Level by its ID
- Rules of Access
- User is in the same school
Example request:
curl -X GET "http://localhost:8000/api/v1/schools/{school_id}/levels/{level}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/levels/{level}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/schools/{school_id}/levels/{level}
HEAD api/v1/schools/{school_id}/levels/{level}
Update Level
Modify information about an existing Level by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Level belongs to
Example request:
curl -X PUT "http://localhost:8000/api/v1/schools/{school_id}/levels/{level}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/levels/{level}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/schools/{school_id}/levels/{level}
PATCH api/v1/schools/{school_id}/levels/{level}
Delete Level
Removes a Level from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Level belongs to
Example request:
curl -X DELETE "http://localhost:8000/api/v1/schools/{school_id}/levels/{level}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/levels/{level}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/schools/{school_id}/levels/{level}
Payables
For Endpoints handling Payables, which represent the fact that a user has to pay for a chargeable.
- It should be hook for all Models that implement CollegePortal\Models\Traits\ChargeableTrait
- The hook should be executed before POSTs in the service, to check that no pending payable exists
- The POST operation should fail if such a payable exists
Get Payables
Responds with a list of Payables
- Rules of Access
- User owns Payable or
- User can update school
Example request:
curl -X GET "http://localhost:8000/api/v1/payables" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/payables",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/payables
HEAD api/v1/payables
Create Payable
Supply Payable information to create a new one
- Rules of Access
- User can view school and
- User can update the user that owns the payable
Example request:
curl -X POST "http://localhost:8000/api/v1/payables" \
-H "Accept: application/json" \
-d "chargeable_id"="7988" \
-d "user_id"="7988" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/payables",
"method": "POST",
"data": {
"chargeable_id": 7988,
"user_id": 7988
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/payables
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
chargeable_id | numeric | required | Valid chargeable id |
user_id | numeric | optional | Valid user id |
Get Payable by ID
Responds with a specific Payable by its ID
- Rules of Access
- User owns Payable or
- User can update school
Example request:
curl -X GET "http://localhost:8000/api/v1/payables/{payable}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/payables/{payable}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/payables/{payable}
HEAD api/v1/payables/{payable}
Update Payable
Modify information about an existing Payable by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Payable belongs to
Example request:
curl -X PUT "http://localhost:8000/api/v1/payables/{payable}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/payables/{payable}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/payables/{payable}
PATCH api/v1/payables/{payable}
Delete Payable
Removes a Payable from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Payable belongs to
Example request:
curl -X DELETE "http://localhost:8000/api/v1/payables/{payable}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/payables/{payable}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/payables/{payable}
Program Credits
For Endpoints handling Program Credits, which represents the maximum number of credits a Student within a Level can take in a Semester.
Get Program Credits
Responds with a list of Program Credits
- Rules of Access
- User is same school
Example request:
curl -X GET "http://localhost:8000/api/v1/program-credits" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/program-credits",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/program-credits
HEAD api/v1/program-credits
Create Program Credit
Supply Program Credit information to create a new one
- Rules of Access
- User can update program = User can update semester
- User can update level
Example request:
curl -X POST "http://localhost:8000/api/v1/program-credits" \
-H "Accept: application/json" \
-d "program_id"="332472" \
-d "semester_id"="332472" \
-d "level_id"="332472" \
-d "credit"="332472" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/program-credits",
"method": "POST",
"data": {
"program_id": 332472,
"semester_id": 332472,
"level_id": 332472,
"credit": 332472
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/program-credits
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
program_id | numeric | required | Valid program id |
semester_id | numeric | required | Valid semester id |
level_id | numeric | required | Valid level id |
credit | numeric | required |
Get Program Credit by ID
Responds with a specific Program Credit by its ID
- Rules of Access
- User is same school
Example request:
curl -X GET "http://localhost:8000/api/v1/program-credits/{program_credit}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/program-credits/{program_credit}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/program-credits/{program_credit}
HEAD api/v1/program-credits/{program_credit}
Update Program Credit
Modify information about an existing Program Credit by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Program Credit belongs to
- User is Dean of Program Credit's faculty
- User is HOD of Program Credit's department
Example request:
curl -X PUT "http://localhost:8000/api/v1/program-credits/{program_credit}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/program-credits/{program_credit}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/program-credits/{program_credit}
PATCH api/v1/program-credits/{program_credit}
Delete Program Credit
Removes a Program Credut from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Program Credit belongs to
- User is Dean of Program Credit's faculty
- User is HOD of Program Credit's department
Example request:
curl -X DELETE "http://localhost:8000/api/v1/program-credits/{program_credit}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/program-credits/{program_credit}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/program-credits/{program_credit}
Programs
For Endpoints handling Programs, which represent a study-path a Student within a Department can take
Get Programs
Responds with a list of Programs
- Rules of Access
- User is same school as program
- Filters
- ?with_departments
Example request:
curl -X GET "http://localhost:8000/api/v1/programs" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/programs",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/programs
HEAD api/v1/programs
Create Program
Supply Program information to create a new one
- Rules of Access
- User is an ADMIN or
- User owns school the Program belongs to
- User is Dean of Program's faculty
- User is HOD of Program's department
Example request:
curl -X POST "http://localhost:8000/api/v1/programs" \
-H "Accept: application/json" \
-d "name"="eum" \
-d "department_id"="1823" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/programs",
"method": "POST",
"data": {
"name": "eum",
"department_id": 1823
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/programs
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
name | string | required | |
department_id | numeric | required | Valid department id |
Get Program by ID
Responds with a specific Program by its ID
- Rules of Access
- User is same school as program
- Filters
- ?with_departments
Example request:
curl -X GET "http://localhost:8000/api/v1/programs/{program}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/programs/{program}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/programs/{program}
HEAD api/v1/programs/{program}
Update Program
Modify information about an existing Program by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Program belongs to
- User is Dean of Program's faculty
- User is HOD of Program's department
Example request:
curl -X PUT "http://localhost:8000/api/v1/programs/{program}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/programs/{program}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/programs/{program}
PATCH api/v1/programs/{program}
Delete Program
Removes a Program from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Program belongs to
- User is Dean of Program's faculty
- User is HOD of Program's department
Example request:
curl -X DELETE "http://localhost:8000/api/v1/programs/{program}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/programs/{program}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/programs/{program}
Prospect
For Endpoints handling Prospects, which is a User who is an admission candidate to a particular School, in a particular Program and targeting a particular Session.
Get Prospects
Responds with a list of Prospects
- Rules of Access
- User is same school as prospect
Example request:
curl -X GET "http://localhost:8000/api/v1/prospects" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/prospects",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/prospects
HEAD api/v1/prospects
Create Prospect
Supply Prospect information to create a new one
- Rules of Access
- User is an ADMIN or
- User owns school the Program belongs to
Example request:
curl -X POST "http://localhost:8000/api/v1/prospects" \
-H "Accept: application/json" \
-d "user_id"="provident" \
-d "school_id"="85191" \
-d "program_id"="85191" \
-d "session_id"="85191" \
-d "locked_at"="provident" \
-d "accepted_at"="provident" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/prospects",
"method": "POST",
"data": {
"user_id": "provident",
"school_id": 85191,
"program_id": 85191,
"session_id": 85191,
"locked_at": "provident",
"accepted_at": "provident"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/prospects
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
user_id | string | optional | |
school_id | numeric | required | Valid school id |
program_id | numeric | required | Valid program id |
session_id | numeric | required | Valid session id |
locked_at | string | optional | |
accepted_at | string | optional |
Get Prospect by ID
Responds with a specific Prospect by its ID
- Rules of Access
- User is an ADMIN or SCHOOL_OWNER of prospect's school
Example request:
curl -X GET "http://localhost:8000/api/v1/prospects/{prospect}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/prospects/{prospect}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/prospects/{prospect}
HEAD api/v1/prospects/{prospect}
Update Prospect
Modify information about an existing Program by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Program belongs to
Example request:
curl -X PUT "http://localhost:8000/api/v1/prospects/{prospect}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/prospects/{prospect}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/prospects/{prospect}
PATCH api/v1/prospects/{prospect}
Delete Prospect
Removes a Prospect from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Prospect belongs to
Example request:
curl -X DELETE "http://localhost:8000/api/v1/prospects/{prospect}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/prospects/{prospect}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/prospects/{prospect}
Roles
For Endpoints handling Roles, which is a part or function a user a system plays within this system.
Get Roles
Responds with a list of Roles
- Rules of Access
- Anyone
Example request:
curl -X GET "http://localhost:8000/api/v1/roles" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/roles",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/roles
HEAD api/v1/roles
Create Role
Supply Role Information to create a new one
Example request:
curl -X POST "http://localhost:8000/api/v1/roles" \
-H "Accept: application/json" \
-d "name"="quae" \
-d "display_name"="quae" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/roles",
"method": "POST",
"data": {
"name": "quae",
"display_name": "quae"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/roles
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
name | string | required | |
display_name | string | required |
Get Role by ID
Responds with a specific Role by its ID
- Rules of Access
- Anyone can view
Example request:
curl -X GET "http://localhost:8000/api/v1/roles/{role}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/roles/{role}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/roles/{role}
HEAD api/v1/roles/{role}
Update Role
Modify Information about an existing Role
Example request:
curl -X PUT "http://localhost:8000/api/v1/roles/{role}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/roles/{role}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/roles/{role}
PATCH api/v1/roles/{role}
Delete Role
Removes a Role from the system
- Rules of Access
- User is an ADMIN or
- User is a SCHOOL_OWNER
Example request:
curl -X DELETE "http://localhost:8000/api/v1/roles/{role}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/roles/{role}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/roles/{role}
Schools
For Endpoints handling Schools, which represent a tertiary institution.
Get Schools
Responds with a list of Schools
- Rules of Access
- User is admin or in school
- Filters
- ?with_schools
Example request:
curl -X GET "http://localhost:8000/api/v1/schools" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/schools
HEAD api/v1/schools
Create School
Supply School information to create a new one
Example request:
curl -X POST "http://localhost:8000/api/v1/schools" \
-H "Accept: application/json" \
-d "name"="deleniti" \
-d "short_name"="deleniti" \
-d "staff_title"="deleniti" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools",
"method": "POST",
"data": {
"name": "deleniti",
"short_name": "deleniti",
"staff_title": "deleniti"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/schools
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
name | string | required | |
short_name | string | required | |
staff_title | string | optional |
Get School by ID
Responds with a specific School by its ID
- Rules of Access
- User is admin or in school
- Filters
- ?with_schools
Example request:
curl -X GET "http://localhost:8000/api/v1/schools/{school}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/schools/{school}
HEAD api/v1/schools/{school}
Update School
Modify information about an existing School by ID
- Rules of Access
- User is an ADMIN or
- User owns the School
Example request:
curl -X PUT "http://localhost:8000/api/v1/schools/{school}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/schools/{school}
PATCH api/v1/schools/{school}
Delete School
Removes a School from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns the School
Example request:
curl -X DELETE "http://localhost:8000/api/v1/schools/{school}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/schools/{school}
Semester Types
For Endpoints handling Semester Types, which represent a group of Semesters, and belonging to a School.
Get Semester Types
Responds with a list of Semester Types
Example request:
curl -X GET "http://localhost:8000/api/v1/schools/{school_id}/semester-types" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/semester-types",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/schools/{school_id}/semester-types
HEAD api/v1/schools/{school_id}/semester-types
Create Semester Type
Example request:
curl -X POST "http://localhost:8000/api/v1/schools/{school_id}/semester-types" \
-H "Accept: application/json" \
-d "name"="est" \
-d "school_id"="est" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/semester-types",
"method": "POST",
"data": {
"name": "est",
"school_id": "est"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/schools/{school_id}/semester-types
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
name | string | required | |
school_id | string | optional |
Get Semester Type by ID
Responds with a specific Semester Type by its ID
Example request:
curl -X GET "http://localhost:8000/api/v1/schools/{school_id}/semester-types/{semester_type}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/semester-types/{semester_type}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/schools/{school_id}/semester-types/{semester_type}
HEAD api/v1/schools/{school_id}/semester-types/{semester_type}
Update Semester Type
Modify information about an existing Semester Type by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Semester Type belongs to
Example request:
curl -X PUT "http://localhost:8000/api/v1/schools/{school_id}/semester-types/{semester_type}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/semester-types/{semester_type}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/schools/{school_id}/semester-types/{semester_type}
PATCH api/v1/schools/{school_id}/semester-types/{semester_type}
Delete Semester Type
Removes a Semester Type from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Semester Type belongs to
Example request:
curl -X DELETE "http://localhost:8000/api/v1/schools/{school_id}/semester-types/{semester_type}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/schools/{school_id}/semester-types/{semester_type}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/schools/{school_id}/semester-types/{semester_type}
Semesters
For Endpoints handling Semesters, which represent a time period, marked by start and end dates, within a Session, and belonging to a Semester Type.
Get Semesters
Responds with a list Semesters
- Rules of Access
- User is same school as Semester
- Filters
- ?with_session
- ?with_type
Example request:
curl -X GET "http://localhost:8000/api/v1/semesters" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/semesters",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/semesters
HEAD api/v1/semesters
Create Semester
Supply Semester information to create a new one
- Rules of Access
- User can update semester type
Example request:
curl -X POST "http://localhost:8000/api/v1/semesters" \
-H "Accept: application/json" \
-d "session_id"="851794023" \
-d "semester_type_id"="851794023" \
-d "start_date"="2018-04-23" \
-d "end_date"="2018-04-23" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/semesters",
"method": "POST",
"data": {
"session_id": 851794023,
"semester_type_id": 851794023,
"start_date": "2018-04-23",
"end_date": "2018-04-23"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/semesters
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
session_id | numeric | optional | Valid session id |
semester_type_id | numeric | required | Valid semester_type id |
start_date | date | required | |
end_date | date | required |
Get Semester by ID
Responds with a specific Semester by its ID
- Rules of Access
- User is same school as Semester
- Filters
- ?with_session
- ?with_type
Example request:
curl -X GET "http://localhost:8000/api/v1/semesters/{semester}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/semesters/{semester}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/semesters/{semester}
HEAD api/v1/semesters/{semester}
Update Semester
Modify information about an existing Semester by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Semester belongs to
Example request:
curl -X PUT "http://localhost:8000/api/v1/semesters/{semester}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/semesters/{semester}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/semesters/{semester}
PATCH api/v1/semesters/{semester}
Delete Semester
Removes a Semester from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Semester belongs to
Example request:
curl -X DELETE "http://localhost:8000/api/v1/semesters/{semester}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/semesters/{semester}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/semesters/{semester}
Sessions
For Endpoints handling Sessions, which represent an academic year. It could contain one or more semesters.
Get Sessions
Responds with a list of Sessions
- Rules of Access
- User is same school as Session
Example request:
curl -X GET "http://localhost:8000/api/v1/sessions" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/sessions",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/sessions
HEAD api/v1/sessions
Create Session
Supply Session information to create a new one
- Rules of Access
- User can update Session's school
Example request:
curl -X POST "http://localhost:8000/api/v1/sessions" \
-H "Accept: application/json" \
-d "school_id"="9" \
-d "name"="ipsa" \
-d "start_date"="1972-01-03" \
-d "end_date"="1972-01-03" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/sessions",
"method": "POST",
"data": {
"school_id": 9,
"name": "ipsa",
"start_date": "1972-01-03",
"end_date": "1972-01-03"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/sessions
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
school_id | numeric | required | Valid school id |
name | string | required | |
start_date | date | required | |
end_date | date | required |
Get Session by ID
Responds with a specific Session by its ID
- Rules of Access
- User is same school as Session
Example request:
curl -X GET "http://localhost:8000/api/v1/sessions/{session}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/sessions/{session}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/sessions/{session}
HEAD api/v1/sessions/{session}
Update Session
Modify information about an existing Session by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Session belongs to
Example request:
curl -X PUT "http://localhost:8000/api/v1/sessions/{session}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/sessions/{session}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/sessions/{session}
PATCH api/v1/sessions/{session}
Delete Session
Removes a Session from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Session belongs to
Example request:
curl -X DELETE "http://localhost:8000/api/v1/sessions/{session}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/sessions/{session}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/sessions/{session}
Staff
For Endpoints handling Staff, which represent a User having a "staff" role within a School
Get Staff
Responds with a list of Staff
- Rules of Access
- User is same school as Staff
Example request:
curl -X GET "http://localhost:8000/api/v1/staff" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/staff",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/staff
HEAD api/v1/staff
Create Staff
Supply Staff information to create a new one
- Rules of Access
- User can update Department staff is to be in or
- User can update School staff is to be in or
- User can update the staff user's info
Example request:
curl -X POST "http://localhost:8000/api/v1/staff" \
-H "Accept: application/json" \
-d "school_id"="2045" \
-d "department_id"="2045" \
-d "user_id"="2045" \
-d "title"="reprehenderit" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/staff",
"method": "POST",
"data": {
"school_id": 2045,
"department_id": 2045,
"user_id": 2045,
"title": "reprehenderit"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/staff
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
school_id | numeric | required | Valid school id |
department_id | numeric | optional | Valid department id |
user_id | numeric | required | Valid user id |
title | string | required |
Get Staff by ID
Responds with a specific Staff by its ID
- Rules of Access
- User is same school as Staff
Example request:
curl -X GET "http://localhost:8000/api/v1/staff/{staff}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/staff/{staff}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/staff/{staff}
HEAD api/v1/staff/{staff}
Update Staff
Modify information about an existing Staff by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Staff belongs to or
- User is HOD in staff's department or
- User is Dean of Staff's Faculty
Example request:
curl -X PUT "http://localhost:8000/api/v1/staff/{staff}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/staff/{staff}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/staff/{staff}
PATCH api/v1/staff/{staff}
Delete Staff
Removes a Staff from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Staff belongs to or
- User is HOD in staff's department or
- User is Dean of Staff's Faculty
Example request:
curl -X DELETE "http://localhost:8000/api/v1/staff/{staff}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/staff/{staff}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/staff/{staff}
Staff Teaches Course
For Endpoints handling Staff-Teach-Course, which represent the fact that a Staff teaches a particular Course
Get Staff-Teach-Course List
Responds with a list of Staff-Teach-Course info
- Rules of Access
- User is same school
Example request:
curl -X GET "http://localhost:8000/api/v1/staff-courses" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/staff-courses",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/staff-courses
HEAD api/v1/staff-courses
Create Staff-Teach-Course
Supply Staff-Teach-Course information to create a new one
- Rules of Access
- User is an ADMIN or
- User is a SCHOOL_OWNER or DEAN of HOD in staff-teach-course's school and
- User can update course
Example request:
curl -X POST "http://localhost:8000/api/v1/staff-courses" \
-H "Accept: application/json" \
-d "staff_id"="3" \
-d "course_id"="3" \
-d "semester_id"="3" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/staff-courses",
"method": "POST",
"data": {
"staff_id": 3,
"course_id": 3,
"semester_id": 3
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/staff-courses
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
staff_id | numeric | required | Valid staff id |
course_id | numeric | required | Valid course id |
semester_id | numeric | required | Valid semester id |
Get Staff-Teach-Course Info by ID
Responds with a specific Staff-Teach-Course by its ID
- Rules of Access
- User is same school
Example request:
curl -X GET "http://localhost:8000/api/v1/staff-courses/{staff_course}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/staff-courses/{staff_course}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/staff-courses/{staff_course}
HEAD api/v1/staff-courses/{staff_course}
Update Staff-Teach-Course
Modify information about an existing Staff-Teach-Course by ID
- Rules of Access
- User is an ADMIN or
- User owns school or
- User is a Dean in faculty or
- User is an HOD in department
Example request:
curl -X PUT "http://localhost:8000/api/v1/staff-courses/{staff_course}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/staff-courses/{staff_course}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/staff-courses/{staff_course}
PATCH api/v1/staff-courses/{staff_course}
Delete Staff-Teach-Course
Removes a Staff-Teach-Course entry from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school or
- User is a Dean in faculty or
- User is an HOD in department
Example request:
curl -X DELETE "http://localhost:8000/api/v1/staff-courses/{staff_course}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/staff-courses/{staff_course}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/staff-courses/{staff_course}
Student Takes Course
For Endpoints handling Student-Takes-Course, which represent the fact that a Student, takes a Course taught by a particular Staff.
Get Student-Takes-Course List
Responds with a list of Student-Takes-Course info
- Rules of Access
- User is same school
- Filters
- ?with_student
- ?with_staff_courses
- ?with_semester
- ?with_staff
- ?with_course
- ?with_school
Example request:
curl -X GET "http://localhost:8000/api/v1/student-courses" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/student-courses",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/student-courses
HEAD api/v1/student-courses
Create Student-Takes-Course
Supply Student-Takes-Course information to create a new one
- Rules of Access
- User is an ADMIN or
- User is a SCHOOL_OWNER or DEAN of HOD in school and or
- User is student
Example request:
curl -X POST "http://localhost:8000/api/v1/student-courses" \
-H "Accept: application/json" \
-d "student_id"="8408" \
-d "staff_teach_course_id"="8408" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/student-courses",
"method": "POST",
"data": {
"student_id": 8408,
"staff_teach_course_id": 8408
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/student-courses
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
student_id | numeric | required | Valid student id |
staff_teach_course_id | numeric | required | Valid staff_teach_course id |
Get Student-Takes-Course by ID
Responds with a specific Student-Takes-Course by its ID
- Rules of Access
- User is same school
- Filters
- ?with_student
- ?with_staff_courses
- ?with_semester
- ?with_staff
- ?with_course
- ?with_school
Example request:
curl -X GET "http://localhost:8000/api/v1/student-courses/{student_course}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/student-courses/{student_course}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/student-courses/{student_course}
HEAD api/v1/student-courses/{student_course}
Update Student-Takes-Course
Modify information about an existing Student-Takes-Course by ID
- Rules of Access
- Student, Staff, Course and Semester are in the same school and
- User is an ADMIN or
- User owns school or
- User is a Dean in faculty or
- User is an HOD in department
Example request:
curl -X PUT "http://localhost:8000/api/v1/student-courses/{student_course}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/student-courses/{student_course}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/student-courses/{student_course}
PATCH api/v1/student-courses/{student_course}
Delete Student-Takes-Course
Removes a Student-Takes-Course entry from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school or
- User is a Dean in faculty or
- User is an HOD in department
Example request:
curl -X DELETE "http://localhost:8000/api/v1/student-courses/{student_course}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/student-courses/{student_course}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/student-courses/{student_course}
Students
For Endpoints handling Students, which represent a user with a "student" role within a School
Get Students
Responds with a list of Students
- Rules of Access
- User is same school as Student
- Filters
- ?program={id}
- ?matric={no}
- ?with_user
- ?with_program
Example request:
curl -X GET "http://localhost:8000/api/v1/students" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/students",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/students
HEAD api/v1/students
Create Student
Supply Student information to create a new one
- Rules of Access
- User is an ADMIN or
- User owns school the Student belongs to or
- User is HOD in Student's department or
- User is Dean of Student's Faculty
Example request:
curl -X POST "http://localhost:8000/api/v1/students" \
-H "Accept: application/json" \
-d "user_id"="2372" \
-d "program_id"="2372" \
-d "matric_no"="aliquid" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/students",
"method": "POST",
"data": {
"user_id": 2372,
"program_id": 2372,
"matric_no": "aliquid"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/students
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
user_id | numeric | required | Valid user id |
program_id | numeric | required | Valid program id |
matric_no | string | required |
Get Student by ID
Responds with a specific Student by its ID
- Rules of Access
- User is same school as Student
- Filters
- ?program={id}
- ?matric={no}
- ?with_user
- ?with_program
Example request:
curl -X GET "http://localhost:8000/api/v1/students/{student}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/students/{student}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/students/{student}
HEAD api/v1/students/{student}
Update Student
Modify information about an existing Student by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Student belongs to or
- User is HOD in Student's department or
- User is Dean of Student's Faculty
Example request:
curl -X PUT "http://localhost:8000/api/v1/students/{student}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/students/{student}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/students/{student}
PATCH api/v1/students/{student}
Delete Student
Removes a Student from the System by ID
- Rules of Access
- User is an ADMIN or
- User owns school the Student belongs to or
- User is HOD in Student's department or
- User is Dean of Student's Faculty
Example request:
curl -X DELETE "http://localhost:8000/api/v1/students/{student}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/students/{student}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/students/{student}
User Has Roles
For Endpoints handling User Has Roles, which represent the fact that a User, acts a particular Role, sometimes within a School.
Get UserHasRoles
Responds with a list of UserHasRole
- Rules of Access
- Current User can view User whose UserHasRole Info is being accessed
Example request:
curl -X GET "http://localhost:8000/api/v1/user-roles" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/user-roles",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/user-roles
HEAD api/v1/user-roles
Create UserHasRole
Supply UserHasRole Information to create a new one
- Rules of Access
- User is an ADMIN or
- User owns School
Example request:
curl -X POST "http://localhost:8000/api/v1/user-roles" \
-H "Accept: application/json" \
-d "user_id"="5" \
-d "role_id"="5" \
-d "school_id"="5" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/user-roles",
"method": "POST",
"data": {
"user_id": 5,
"role_id": 5,
"school_id": 5
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/user-roles
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
user_id | numeric | required | Valid user id |
role_id | numeric | required | Valid role id |
school_id | numeric | optional | Valid school id |
Get UserHasRole by ID
Responds with a specific UserHasRole by its ID
- Rules of Access
- Current User can view User whose UserHasRole Info is being accessed
Example request:
curl -X GET "http://localhost:8000/api/v1/user-roles/{user_role}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/user-roles/{user_role}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/user-roles/{user_role}
HEAD api/v1/user-roles/{user_role}
Update UserHasRole (Not Supported)
Modify Information about an existing UserHasRole
Example request:
curl -X PUT "http://localhost:8000/api/v1/user-roles/{user_role}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/user-roles/{user_role}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/user-roles/{user_role}
PATCH api/v1/user-roles/{user_role}
Delete UserHasRole
Removes a particular UserHasRole from the system
- Rules of Access
- User is an ADMIN or
- User owns School
Example request:
curl -X DELETE "http://localhost:8000/api/v1/user-roles/{user_role}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/user-roles/{user_role}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/user-roles/{user_role}
Users
For Endpoints handling Users, which represent a registered user of the system
Get Users
Responds with a list of Users
- Rules of Access
- User is same school
- Filters
- ?with_staff
- ?with_students
Example request:
curl -X GET "http://localhost:8000/api/v1/users" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/users",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/users
HEAD api/v1/users
Create User
Supply User information to create a new one
Example request:
curl -X POST "http://localhost:8000/api/v1/users" \
-H "Accept: application/json" \
-d "first_name"="eligendi" \
-d "last_name"="eligendi" \
-d "email"="lenore05@example.org" \
-d "password"="eligendi" \
-d "dob"="2003-10-16" \
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/users",
"method": "POST",
"data": {
"first_name": "eligendi",
"last_name": "eligendi",
"email": "lenore05@example.org",
"password": "eligendi",
"dob": "2003-10-16"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/v1/users
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
first_name | string | required | |
last_name | string | required | |
required | |||
password | string | required | |
dob | date | required |
Get User by ID
Responds with a specific User by its ID
- Rules of Access
- User is same school
- Filters
- ?with_staff
- ?with_students
Example request:
curl -X GET "http://localhost:8000/api/v1/users/{user}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/users/{user}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"message": "token invalid"
}
HTTP Request
GET api/v1/users/{user}
HEAD api/v1/users/{user}
Update User
Modify information about an existing User by ID
- Rules of Access
- User is an ADMIN or
- User is updating his/her own account
Example request:
curl -X PUT "http://localhost:8000/api/v1/users/{user}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/users/{user}",
"method": "PUT",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/v1/users/{user}
PATCH api/v1/users/{user}
Delete User
Removes a User from the System by ID
- Rules of Access
- User is an ADMIN or
- User is deleting his/her own account
Example request:
curl -X DELETE "http://localhost:8000/api/v1/users/{user}" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8000/api/v1/users/{user}",
"method": "DELETE",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/v1/users/{user}