-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathswagger.json
152 lines (152 loc) · 4.17 KB
/
swagger.json
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
148
149
150
151
152
{
"swagger": "2.0",
"info": {
"title": "Kursplan API",
"description": "Creates html and configuration for showing course syllabus information based on course code and semester",
"version": "1.0.0"
},
"basePath": "/api/kursplan",
"produces": ["application/json", "application/pdf"],
"paths": {
"/_checkAPIkey": {
"get": {
"operationId": "checkAPIkey",
"summary": "GET a test endpoint that is protected by api key to validate that consumer has a proper api key",
"description": "",
"parameters": [],
"tags": ["system"],
"responses": {
"200": {
"description": "An empty response"
},
"default": {
"description": "Unexpected error",
"schema": {
"$ref": "#/definitions/Error"
}
}
},
"security": [
{
"api_key": ["read"]
}
]
}
},
"/v1/syllabus/{courseCode}/{semester}/{language}": {
"get": {
"operationId": "getSyllabusByCourseCode",
"summary": "Create a syllabus PDF for course code and semester in requested language",
"description": "Retrieves data from Kopps and creates a syllabus PDF for course code and semester in requested language.",
"parameters": [
{
"name": "courseCode",
"in": "path",
"description": "Course code that has the requested syllabus",
"required": true,
"type": "string"
},
{
"name": "semester",
"in": "path",
"description": "Semester, five digits, with the year and semester number (Fall: 1, Spring: 2, ex: 20102) for the requested syllabus ",
"required": true,
"type": "string"
},
{
"name": "language",
"in": "path",
"description": "Language for the response, 'sv': Swedish, 'en': English, default is 'sv'",
"required": false,
"type": "string"
},
{
"name": "documentName",
"in": "query",
"description": "Desired name for PDF document. File suffix pdf will be added.",
"required": false,
"type": "string"
},
{
"name": "download",
"in": "query",
"description": "Should PDF document be downloaded? If download parameter is true, the response will have a 'Content-Disposition' header set to 'attachment', otherwise 'inline'.",
"required": false,
"type": "string"
}
],
"tags": ["v1"],
"responses": {
"200": {
"description": "The requested PDF file",
"schema": {
"type": "file"
}
},
"default": {
"description": "Unexpected error",
"schema": {
"$ref": "#/definitions/Error"
}
}
},
"security": [
{
"api_key": ["read"]
}
]
}
}
},
"securityDefinitions": {
"api_key": {
"type": "apiKey",
"name": "api_key",
"in": "header",
"scopes": {
"read": "Read access to data",
"write": "Write access to data"
}
}
},
"definitions": {
"Syllabus": {
"properties": {
"courseCode": {
"type": "string",
"description": "Unique identifier representing some specific data"
},
"courseTitle": {
"type": "string",
"description": "Description of the data"
}
}
},
"Data": {
"properties": {
"id": {
"type": "string",
"description": "Unique identifier representing some specific data"
},
"name": {
"type": "string",
"description": "Description of the data"
}
}
},
"Error": {
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"fields": {
"type": "string"
}
}
}
}
}