Skip to content

Instantly share code, notes, and snippets.

@taija
Created December 20, 2019 17:23
Show Gist options
  • Save taija/94e8a1009449acdf348bbc988efdc6fc to your computer and use it in GitHub Desktop.
Save taija/94e8a1009449acdf348bbc988efdc6fc to your computer and use it in GitHub Desktop.
openapi: 3.0.1
info:
title: BC Data API
description: Get BC Data!
version: "1.3"
servers:
- url: 'https://www2.bellevuecollege.edu'
paths:
/data/api/v1/classes/{quarter}/{subject}:
get:
description: Array of classes offered in a given quarter, filtered by subject
parameters:
- name: "quarter"
in: "path"
required: true
schema:
type: "string"
- name: "subject"
in: "path"
required: true
schema:
type: "string"
responses:
'200':
description: Array of classes
content:
application/json:
schema:
type: object
properties:
classes:
type: array
items:
$ref: "#/components/schemas/class"
/data/api/v1/classes/{quarter}/{subject}/{courseNumber}:
get:
description: Single class info for a specific quarter
parameters:
- name: "quarter"
in: "path"
required: true
schema:
type: "string"
- name: "subject"
in: "path"
required: true
schema:
type: "string"
- name: "courseNumber"
in: "path"
required: true
schema:
type: "string"
responses:
'200':
description: Class
content:
application/json:
schema:
type: object
properties:
classes:
$ref: "#/components/schemas/class"
/data/api/v1/subject/{subject}:
get:
description: Get a single subject
parameters:
- name: "subject"
in: "path"
required: true
schema:
type: "string"
responses:
'200':
description: Single subject information
content:
application/json:
schema:
type: object
properties:
subject:
$ref: "#/components/schemas/subject"
servers:
- url: 'https://www2.bellevuecollege.edu'
servers:
- url: 'https://www2.bellevuecollege.edu'
/data/api/v1/courses/{subject}:
get:
description: List of courses in a given subject
parameters:
- name: "subject"
in: "path"
required: true
schema:
type: "string"
responses:
'200':
description: Array of Courses
content:
application/json:
schema:
type: object
properties:
courses:
type: array
items:
$ref: "#/components/schemas/course"
/data/api/v1/subjects:
get:
description: List of Subjects
responses:
'200':
description: List of Subjects
content:
application/json:
schema:
type: object
properties:
subjects:
type: array
items:
$ref: "#/components/schemas/subject"
/data/api/v1/course/{subject}/{courseNumber}:
get:
description: Single course information
parameters:
- name: "subject"
in: "path"
required: true
schema:
type: "string"
- name: "courseNumber"
in: "path"
required: true
schema:
type: "string"
responses:
'200':
description: Data on a single course
content:
application/json:
schema:
type: object
properties:
course:
$ref: "#/components/schemas/course"
/data/api/v1/quarters:
get:
description: List of academic quarters
responses:
'200':
description: List of quarters
content:
application/json:
schema:
type: object
properties:
quarters:
type: array
items:
$ref: "#/components/schemas/quarter"
components:
schemas:
subject:
type: object
properties:
subject:
type: string
name:
type: string
quarter:
type: object
properties:
quarter:
type: string
title:
type: string
course:
type: object
properties:
title:
type: string
subject:
type: string
courseNumber:
type: string
description:
type: string
note:
type: string
credits:
type: integer
quarter:
type: string
isVariableCredits:
type: boolean
isCommonCourse:
type: boolean
class:
allOf:
- $ref: "#/components/schemas/course"
- type: object
properties:
sections:
type: array
items:
$ref: "#/components/schemas/section"
section:
type: object
properties:
id:
type: string
section:
type: string
itemNumber:
type: integer
instructor:
type: string
beginDate:
type: string
endDate:
type: string
room:
type: string
schedule:
type: string
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment