Introduction
This documentation aims to provide all the information you need to work with our API.
Authenticating requests
To authenticate requests, include an Authorization
header with the value "Bearer {YOUR_AUTH_KEY}"
.
All authenticated endpoints are marked with a requires authentication
badge in the documentation below.
You can retrieve your token by visiting your dashboard and clicking Generate API token.
Endpoints
GET api/user
requires authentication
Example request:
curl --request GET \
--get "https://courses.ianapplebaum.com/api/user" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://courses.ianapplebaum.com/api/user"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 57
access-control-allow-origin: *
{
"id": 1,
"name": "Ian Tyler Applebaum",
"email": "ian.tyler@electricbluefish.com",
"email_verified_at": null,
"two_factor_confirmed_at": null,
"current_team_id": null,
"profile_photo_path": null,
"created_at": "2022-12-31T05:15:55.000000Z",
"updated_at": "2022-12-31T05:15:55.000000Z",
"profile_photo_url": "https://ui-avatars.com/api/?name=I+T+A&color=7F9CF5&background=EBF4FF"
}
Received response:
Request failed with error:
Display the specified resource.
requires authentication
Example request:
curl --request GET \
--get "https://courses.ianapplebaum.com/api/syllabus/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://courses.ianapplebaum.com/api/syllabus/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"result" : "ok",
"events" : [
{
"event_name" : "Syllabus/Ice Breaker",
"id" : 1,
"created_at" : "2023-01-07T05:03:09.000000Z",
"event_description" : "First day of class we'll get to know each other with a small \"hackathon\" activity",
"class_type" : "Lab",
"syllabus_id" : 1,
"updated_at" : "2023-01-07T06:29:51.000000Z",
"event_date" : "2023-01-17"
},
{
"event_name" : "How to pitch an idea",
"id" : 2,
"created_at" : "2023-01-07T06:45:37.000000Z",
"event_description" : "We will learn how to pitch an enticing project idea.",
"class_type" : "Lecture",
"syllabus_id" : 1,
"updated_at" : "2023-01-07T06:45:37.000000Z",
"event_date" : "2023-01-18"
},
{
"event_name" : "Project Brainstorming",
"id" : 3,
"created_at" : "2023-01-07T06:47:55.000000Z",
"event_description" : "We will learn what tools are out there for building great capstone projects. We will also talk about what solving problems and avoiding picking technology for technology sake.",
"class_type" : "Lab",
"syllabus_id" : 1,
"updated_at" : "2023-01-16T13:50:23.000000Z",
"event_date" : "2023-01-19"
},
{
"event_name" : "Individual elevator pitch",
"id" : 4,
"created_at" : "2023-01-07T06:48:50.000000Z",
"event_description" : "All students will pitch their projects.",
"class_type" : "Lab",
"syllabus_id" : 1,
"updated_at" : "2023-01-07T06:48:50.000000Z",
"event_date" : "2023-01-24"
},
{
"event_name" : "Test Procedures Document",
"id" : 26,
"created_at" : "2023-01-10T04:02:09.000000Z",
"event_description" : "The Test Procedures document describes the approach and tests to be performed to verify the requirements specified in the Requirements Document. It includes procedures for unit tests, which involve testing individual methods with input parameter values and expected results, using mock objects to stub external classes. It also includes integration tests, which demonstrate each use-case based on the use-case descriptions and sequence diagrams, using mock objects for external input and verification. Finally, it includes acceptance tests, which demonstrate all functional and non-functional requirements through a combination of automated tests derived from use-cases and manual tests with recorded observations of the results.",
"class_type" : "Assignment",
"syllabus_id" : 1,
"updated_at" : "2023-01-12T04:54:50.000000Z",
"event_date" : "2023-03-05"
},
{
"event_name" : "Spring Break (no classes held)",
"id" : 9,
"created_at" : "2023-01-07T06:53:03.000000Z",
"event_description" : "Monday, March 6 - Sunday, March 12 is Spring Break!",
"class_type" : "Break!",
"syllabus_id" : 1,
"updated_at" : "2023-01-16T03:48:37.000000Z",
"event_date" : "2023-03-06"
},
],
"syllabus" : {
"course_semester" : "Spring",
"id" : 1,
"start_date" : "2023-01-17",
"course_year" : 2023,
"created_at" : "2023-01-07T05:02:29.000000Z",
"updated_at" : "2023-01-07T06:44:34.000000Z",
"end_date" : "2023-05-09",
"course_name" : "Projects in Computer Science",
"discord_channel" : "1060282877230723077"
}
}
Received response:
Request failed with error:
Display a listing of the resource.
requires authentication
// * @return \Illuminate\Http\Response
Example request:
curl --request GET \
--get "https://courses.ianapplebaum.com/api/syllabus" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://courses.ianapplebaum.com/api/syllabus"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 56
access-control-allow-origin: *
{
"result": "ok",
"syllabi": [
{
"id": 1,
"course_name": "Projects in Computer Science",
"course_semester": "Spring",
"course_year": "2023",
"start_date": "2023-01-17",
"end_date": "2023-05-09",
"created_at": "2022-12-31T05:16:39.000000Z",
"updated_at": "2022-12-31T05:16:39.000000Z",
"discord_channel": "1060282877230723077"
},
{
"id": 2,
"course_name": "CIS Projcts in Computer Science",
"course_semester": "Spring",
"course_year": "1999",
"start_date": "2004-11-07",
"end_date": "2007-08-16",
"created_at": "2023-01-05T04:32:32.000000Z",
"updated_at": "2023-01-05T04:32:32.000000Z",
"discord_channel": null
}
]
}
Received response:
Request failed with error: