-
Notifications
You must be signed in to change notification settings - Fork 0
/
swagger.yaml
147 lines (147 loc) · 3.97 KB
/
swagger.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
swagger: "2.0"
info:
description: Get information about textbooks used for different course sections.
version: "1.0"
title: "Textbooks API"
tags:
- name: "textbooks"
description: "Contains information on textbooks"
schemes:
- "https"
host: "api.oregonstate.edu"
basePath: "/v1"
externalDocs:
description: "GitHub Repository"
url: "https://github.com/osu-mist/textbooks-api"
produces:
- "application/json"
security:
- OAuth2:
- full
paths:
/textbooks:
get:
tags:
- "textbooks"
summary: "Retrieve textbooks by parameters"
operationId: "getTextbooks"
parameters:
- name: "academicYear"
in: "query"
description: "4 digit year of term in which to find textbooks."
type: "string"
required: true
- name: "term"
in: "query"
description: "Name of term in which to find textbooks. Example: 'Fall'"
type: "string"
required: true
- name: "subject"
in: "query"
description: "Name of course subject in which to find textbooks. Example: 'CS'"
type: "string"
required: true
- name: "courseNumber"
in: "query"
description: "Number of course in which to find textbooks. Example: '161'"
type: "string"
required: true
- name: "section"
in: "query"
description: "Name of section in which to find textbooks. Example: '001'"
type: "string"
required: false
responses:
200:
description: "Textbooks successfully retrieved"
schema:
$ref: "#/definitions/TextbookResultArray"
400:
description: "Bad request"
schema:
$ref: "#/definitions/Error"
500:
description: "Internal server error"
schema:
$ref: "#/definitions/Error"
securityDefinitions:
OAuth2:
type: oauth2
flow: application
tokenUrl: https://api.oregonstate.edu/oauth2/token
scopes:
full: Full access to the API
definitions:
Textbook:
type: "object"
properties:
coverImageUrl:
type: "string"
description: "URL of cover image"
example: "coverimages.verbacompete.com/no_image.jpg"
title:
type: "string"
description: "Title of textbook"
example: "Probability & Stat For Engr & Sci"
author:
type: "string"
description: "Author of textbook"
example: "Devore"
edition:
type: "integer"
description: "Textbook edition"
example: 9
copyrightYear:
type: "integer"
description: "Textbook copyright year"
example: 2016
priceNewUSD:
type: "number"
format: "float"
description: "Price to buy new textbook at Beaver Store"
example: 49.00
priceUsedUSD:
type: "number"
format: "float"
description: "Price to buy used textbook at Beaver Store"
example: 36.75
TextbookResource:
type: "object"
properties:
id:
type: "string"
description: "ISBN of textbook"
example: "9780998819112"
type:
type: "string"
default: "textbook"
attributes:
$ref: "#/definitions/Textbook"
links:
type: "object"
default: null
TextbookResultArray:
type: "object"
properties:
links:
type: "object"
default: null
data:
type: "array"
items:
$ref: "#/definitions/TextbookResource"
Error:
type: "object"
properties:
status:
type: "integer"
description: "HTTP status code"
example: 123
code:
type: "integer"
description: "Specific error code"
example: 1234
detail:
type: "string"
description: "Link to further information on error code"
example: "https://developer.oregonstate.edu/documentation/error-reference#1234"