liblynx-api 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,429 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
3
+ "title": "Account",
4
+ "description": "",
5
+ "stability": "production",
6
+ "strictProperties": true,
7
+ "type": [
8
+ "object"
9
+ ],
10
+ "definitions": {
11
+ "id": {
12
+ "description": "unique identifier of account",
13
+ "readOnly": true,
14
+ "type": [
15
+ "integer"
16
+ ]
17
+ },
18
+ "account_name": {
19
+ "description": "unique name of account",
20
+ "type": [
21
+ "string"
22
+ ]
23
+ },
24
+ "email_domains": {
25
+ "description": "cr separated email domains",
26
+ "example": "*.somedomain.com\nalt.somedomain2.com",
27
+ "type": [
28
+ "string"
29
+ ]
30
+ },
31
+ "enable_saml": {
32
+ "description": "enable saml",
33
+ "type": [
34
+ "boolean"
35
+ ]
36
+ },
37
+ "enable_shibboleth": {
38
+ "description": "enable shibboleth",
39
+ "type": [
40
+ "boolean"
41
+ ]
42
+ },
43
+ "enable_ip": {
44
+ "description": "enable ip",
45
+ "type": [
46
+ "boolean"
47
+ ]
48
+ },
49
+ "enable_referrer": {
50
+ "description": "enable referrer",
51
+ "type": [
52
+ "boolean"
53
+ ]
54
+ },
55
+ "enable_library_card": {
56
+ "description": "enable library card",
57
+ "type": [
58
+ "boolean"
59
+ ]
60
+ },
61
+ "enable_individual": {
62
+ "description": "enable individual",
63
+ "type": [
64
+ "boolean"
65
+ ]
66
+ },
67
+ "enable_open_athens": {
68
+ "description": "enable open athens",
69
+ "type": [
70
+ "boolean"
71
+ ]
72
+ },
73
+ "enable_archimed": {
74
+ "description": "enable archimed",
75
+ "type": [
76
+ "boolean"
77
+ ]
78
+ },
79
+ "active": {
80
+ "description": "active",
81
+ "type": [
82
+ "boolean"
83
+ ]
84
+ },
85
+ "enable_pass_code": {
86
+ "description": "enable pass code",
87
+ "type": [
88
+ "boolean"
89
+ ]
90
+ },
91
+ "enable_self_registration": {
92
+ "description": "enable self registration",
93
+ "type": [
94
+ "boolean"
95
+ ]
96
+ },
97
+ "enable_lib_portal_stats": {
98
+ "description": "enable lib portal stats",
99
+ "type": [
100
+ "boolean"
101
+ ]
102
+ },
103
+ "individual_limit": {
104
+ "description": "individual limit",
105
+ "type": [
106
+ "integer"
107
+ ]
108
+ },
109
+ "individual": {
110
+ "description": "individual",
111
+ "type": [
112
+ "boolean"
113
+ ]
114
+ },
115
+ "type": {
116
+ "description": "type",
117
+ "type": [
118
+ "string"
119
+ ]
120
+ },
121
+ "identity": {
122
+ "$ref": "/schemata/account#/definitions/id"
123
+ },
124
+ "creation_date": {
125
+ "description": "when account was created",
126
+ "readOnly": true,
127
+ "format": "date-time",
128
+ "type": [
129
+ "string"
130
+ ]
131
+ },
132
+ "modified_date": {
133
+ "description": "when account was updated",
134
+ "readOnly": true,
135
+ "format": "date-time",
136
+ "type": [
137
+ "string"
138
+ ]
139
+ },
140
+ "publisher_reference": {
141
+ "description": "publisher reference",
142
+ "type": [
143
+ "string"
144
+ ]
145
+ },
146
+ "shibboleth_entity_id": {
147
+ "description": "shibboleth entity id",
148
+ "format": "uri",
149
+ "type": [
150
+ "string"
151
+ ]
152
+ }
153
+ },
154
+ "links": [
155
+ {
156
+ "description": "Create a new account.",
157
+ "href": "/api/accounts",
158
+ "method": "POST",
159
+ "rel": "create",
160
+ "schema": {
161
+ "properties": {
162
+ "account_name": {
163
+ "$ref": "/schemata/account#/definitions/account_name"
164
+ },
165
+ "publisher_reference": {
166
+ "$ref": "/schemata/account#/definitions/publisher_reference"
167
+ },
168
+ "email_domains": {
169
+ "$ref": "/schemata/account#/definitions/email_domains"
170
+ },
171
+ "enable_saml": {
172
+ "$ref": "/schemata/account#/definitions/enable_saml"
173
+ },
174
+ "enable_shibboleth": {
175
+ "$ref": "/schemata/account#/definitions/enable_shibboleth"
176
+ },
177
+ "shibboleth_entity_id": {
178
+ "$ref": "/schemata/account#/definitions/shibboleth_entity_id"
179
+ },
180
+ "enable_ip": {
181
+ "$ref": "/schemata/account#/definitions/enable_ip"
182
+ },
183
+ "enable_pass_code": {
184
+ "$ref": "/schemata/account#/definitions/enable_pass_code"
185
+ },
186
+ "enable_referrer": {
187
+ "$ref": "/schemata/account#/definitions/enable_referrer"
188
+ },
189
+ "enable_library_card": {
190
+ "$ref": "/schemata/account#/definitions/enable_library_card"
191
+ },
192
+ "enable_individual": {
193
+ "$ref": "/schemata/account#/definitions/enable_individual"
194
+ },
195
+ "enable_open_athens": {
196
+ "$ref": "/schemata/account#/definitions/enable_open_athens"
197
+ },
198
+ "enable_archimed": {
199
+ "$ref": "/schemata/account#/definitions/enable_archimed"
200
+ },
201
+ "active": {
202
+ "$ref": "/schemata/account#/definitions/active"
203
+ },
204
+ "enable_self_registration": {
205
+ "$ref": "/schemata/account#/definitions/enable_self_registration"
206
+ },
207
+ "enable_lib_portal_stats": {
208
+ "$ref": "/schemata/account#/definitions/enable_lib_portal_stats"
209
+ },
210
+ "individual_limit": {
211
+ "$ref": "/schemata/account#/definitions/individual_limit"
212
+ },
213
+ "individual": {
214
+ "$ref": "/schemata/account#/definitions/individual"
215
+ },
216
+ "type": {
217
+ "$ref": "/schemata/account#/definitions/type"
218
+ }
219
+ },
220
+ "required": [
221
+ "account_name"
222
+ ],
223
+ "type": [
224
+ "object"
225
+ ]
226
+ },
227
+ "title": "Create"
228
+ },
229
+ {
230
+ "description": "Delete an existing account.",
231
+ "href": "/api/accounts/{(%2Fschemata%2Faccount%23%2Fdefinitions%2Fidentity)}",
232
+ "method": "DELETE",
233
+ "rel": "destroy",
234
+ "title": "Delete",
235
+ "targetSchema": {}
236
+ },
237
+ {
238
+ "description": "Info for existing account.",
239
+ "href": "/api/accounts/{(%2Fschemata%2Faccount%23%2Fdefinitions%2Fidentity)}",
240
+ "method": "GET",
241
+ "rel": "self",
242
+ "title": "Info"
243
+ },
244
+ {
245
+ "description": "List existing accounts.",
246
+ "href": "/api/accounts",
247
+ "method": "GET",
248
+ "rel": "instances",
249
+ "targetSchema": {
250
+ "properties": {
251
+ "accounts": {
252
+ "items": {
253
+ "properties": {
254
+ "id": {
255
+ "$ref": "/schemata/account#/definitions/id"
256
+ },
257
+ "account_name": {
258
+ "$ref": "/schemata/account#/definitions/account_name"
259
+ },
260
+ "individual": {
261
+ "$ref": "/schemata/account#/definitions/individual"
262
+ },
263
+ "active": {
264
+ "$ref": "/schemata/account#/definitions/active"
265
+ },
266
+ "publisher_reference": {
267
+ "$ref": "/schemata/account#/definitions/publisher_reference"
268
+ },
269
+ "type": {
270
+ "$ref": "/schemata/account#/definitions/type"
271
+ },
272
+ "modified_date": {
273
+ "$ref": "/schemata/account#/definitions/modified_date"
274
+ },
275
+ "creation_date": {
276
+ "$ref": "/schemata/account#/definitions/creation_date"
277
+ }
278
+ }
279
+ },
280
+ "type": [
281
+ "array"
282
+ ]
283
+ }
284
+ }
285
+ },
286
+ "title": "List"
287
+ },
288
+ {
289
+ "description": "Update an existing account.",
290
+ "href": "/api/accounts/{(%2Fschemata%2Faccount%23%2Fdefinitions%2Fidentity)}",
291
+ "method": "PUT",
292
+ "rel": "update",
293
+ "schema": {
294
+ "properties": {
295
+ "account_name": {
296
+ "$ref": "/schemata/account#/definitions/account_name"
297
+ },
298
+ "publisher_reference": {
299
+ "$ref": "/schemata/account#/definitions/publisher_reference"
300
+ },
301
+ "email_domains": {
302
+ "$ref": "/schemata/account#/definitions/email_domains"
303
+ },
304
+ "enable_saml": {
305
+ "$ref": "/schemata/account#/definitions/enable_saml"
306
+ },
307
+ "enable_shibboleth": {
308
+ "$ref": "/schemata/account#/definitions/enable_shibboleth"
309
+ },
310
+ "shibboleth_entity_id": {
311
+ "$ref": "/schemata/account#/definitions/shibboleth_entity_id"
312
+ },
313
+ "enable_ip": {
314
+ "$ref": "/schemata/account#/definitions/enable_ip"
315
+ },
316
+ "enable_pass_code": {
317
+ "$ref": "/schemata/account#/definitions/enable_pass_code"
318
+ },
319
+ "enable_referrer": {
320
+ "$ref": "/schemata/account#/definitions/enable_referrer"
321
+ },
322
+ "enable_library_card": {
323
+ "$ref": "/schemata/account#/definitions/enable_library_card"
324
+ },
325
+ "enable_individual": {
326
+ "$ref": "/schemata/account#/definitions/enable_individual"
327
+ },
328
+ "enable_open_athens": {
329
+ "$ref": "/schemata/account#/definitions/enable_open_athens"
330
+ },
331
+ "enable_archimed": {
332
+ "$ref": "/schemata/account#/definitions/enable_archimed"
333
+ },
334
+ "active": {
335
+ "$ref": "/schemata/account#/definitions/active"
336
+ },
337
+ "enable_self_registration": {
338
+ "$ref": "/schemata/account#/definitions/enable_self_registration"
339
+ },
340
+ "enable_lib_portal_stats": {
341
+ "$ref": "/schemata/account#/definitions/enable_lib_portal_stats"
342
+ },
343
+ "individual_limit": {
344
+ "$ref": "/schemata/account#/definitions/individual_limit"
345
+ },
346
+ "individual": {
347
+ "$ref": "/schemata/account#/definitions/individual"
348
+ },
349
+ "type": {
350
+ "$ref": "/schemata/account#/definitions/type"
351
+ }
352
+ },
353
+ "type": [
354
+ "object"
355
+ ]
356
+ },
357
+ "title": "Update"
358
+ }
359
+ ],
360
+ "properties": {
361
+ "created_at": {
362
+ "$ref": "/schemata/account#/definitions/creation_date"
363
+ },
364
+ "id": {
365
+ "$ref": "/schemata/account#/definitions/id"
366
+ },
367
+ "name": {
368
+ "$ref": "/schemata/account#/definitions/account_name"
369
+ },
370
+ "publisher_reference": {
371
+ "$ref": "/schemata/account#/definitions/publisher_reference"
372
+ },
373
+ "enable_saml": {
374
+ "$ref": "/schemata/account#/definitions/enable_saml"
375
+ },
376
+ "enable_shibboleth": {
377
+ "$ref": "/schemata/account#/definitions/enable_shibboleth"
378
+ },
379
+ "email_domains": {
380
+ "$ref": "/schemata/account#/definitions/email_domains"
381
+ },
382
+ "updated_at": {
383
+ "$ref": "/schemata/account#/definitions/modified_date"
384
+ },
385
+ "shibboleth_entity_id": {
386
+ "$ref": "/schemata/account#/definitions/shibboleth_entity_id"
387
+ },
388
+ "enable_ip": {
389
+ "$ref": "/schemata/account#/definitions/enable_ip"
390
+ },
391
+ "enable_pass_code": {
392
+ "$ref": "/schemata/account#/definitions/enable_pass_code"
393
+ },
394
+ "enable_referrer": {
395
+ "$ref": "/schemata/account#/definitions/enable_referrer"
396
+ },
397
+ "enable_library_card": {
398
+ "$ref": "/schemata/account#/definitions/enable_library_card"
399
+ },
400
+ "enable_individual": {
401
+ "$ref": "/schemata/account#/definitions/enable_individual"
402
+ },
403
+ "enable_open_athens": {
404
+ "$ref": "/schemata/account#/definitions/enable_open_athens"
405
+ },
406
+ "enable_archimed": {
407
+ "$ref": "/schemata/account#/definitions/enable_archimed"
408
+ },
409
+ "active": {
410
+ "$ref": "/schemata/account#/definitions/active"
411
+ },
412
+ "enable_self_registration": {
413
+ "$ref": "/schemata/account#/definitions/enable_self_registration"
414
+ },
415
+ "enable_lib_portal_stats": {
416
+ "$ref": "/schemata/account#/definitions/enable_lib_portal_stats"
417
+ },
418
+ "individual_limit": {
419
+ "$ref": "/schemata/account#/definitions/individual_limit"
420
+ },
421
+ "individual": {
422
+ "$ref": "/schemata/account#/definitions/individual"
423
+ },
424
+ "type": {
425
+ "$ref": "/schemata/account#/definitions/type"
426
+ }
427
+ },
428
+ "id": "schemata/account"
429
+ }
@@ -0,0 +1,239 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
3
+ "title": "Identification",
4
+ "description": "",
5
+ "stability": "production",
6
+ "strictProperties": true,
7
+ "type": [
8
+ "object"
9
+ ],
10
+ "definitions": {
11
+ "id": {
12
+ "description": "unique identifier of identification",
13
+ "readOnly": true,
14
+ "format": "uuid",
15
+ "type": [
16
+ "string"
17
+ ]
18
+ },
19
+ "identity": {
20
+ "$ref": "/schemata/identification#/definitions/id"
21
+ },
22
+ "created": {
23
+ "description": "when identification was created",
24
+ "format": "date-time",
25
+ "type": [
26
+ "string"
27
+ ]
28
+ },
29
+ "email": {
30
+ "description": "user email address",
31
+ "format": "email",
32
+ "type": [
33
+ "string"
34
+ ]
35
+ },
36
+ "url": {
37
+ "description": "callback url",
38
+ "format": "uri",
39
+ "type": [
40
+ "string"
41
+ ]
42
+ },
43
+ "ip": {
44
+ "description": "ip address",
45
+ "format": "ipv4",
46
+ "type": [
47
+ "string"
48
+ ]
49
+ },
50
+ "user_agent": {
51
+ "description": "user agent",
52
+ "type": [
53
+ "string"
54
+ ]
55
+ },
56
+ "status": {
57
+ "description": "status",
58
+ "type": [
59
+ "string"
60
+ ]
61
+ },
62
+ "terms": {
63
+ "description": "terms",
64
+ "type": [
65
+ "string"
66
+ ]
67
+ },
68
+ "authorizations": {
69
+ "description": "authorizations",
70
+ "type": [
71
+ "array"
72
+ ]
73
+ },
74
+ "unit_requests": {
75
+ "description": "unit requests",
76
+ "type": [
77
+ "array"
78
+ ]
79
+ },
80
+ "publisher": {
81
+ "description": "publisher",
82
+ "properties": {
83
+ "id": {
84
+ "type": [
85
+ "integer"
86
+ ]
87
+ },
88
+ "publisher_name": {
89
+ "type": [
90
+ "string"
91
+ ]
92
+ }
93
+ },
94
+ "type": [
95
+ "object"
96
+ ]
97
+ },
98
+ "user_institution": {
99
+ "description": "user institution",
100
+ "properties": {
101
+ "id": {
102
+ "type": [
103
+ "integer"
104
+ ]
105
+ },
106
+ "account_name": {
107
+ "type": [
108
+ "string"
109
+ ]
110
+ },
111
+ "country_code": {
112
+ "type": [
113
+ "string"
114
+ ]
115
+ },
116
+ "type": {
117
+ "type": [
118
+ "string"
119
+ ]
120
+ }
121
+ },
122
+ "type": [
123
+ "object"
124
+ ]
125
+ },
126
+ "target_account": {
127
+ "description": "target account",
128
+ "properties": {
129
+ "id": {
130
+ "type": [
131
+ "integer"
132
+ ]
133
+ },
134
+ "account_name": {
135
+ "type": [
136
+ "string"
137
+ ]
138
+ },
139
+ "individual": {
140
+ "type": [
141
+ "boolean"
142
+ ]
143
+ },
144
+ "type": {
145
+ "type": [
146
+ "string"
147
+ ]
148
+ },
149
+ "publisher_reference": {
150
+ "type": [
151
+ "string"
152
+ ]
153
+ }
154
+ },
155
+ "type": [
156
+ "object"
157
+ ]
158
+ }
159
+ },
160
+ "links": [
161
+ {
162
+ "description": "create a new identification resource to try and identify an account to link a new session with",
163
+ "href": "/api/identifications",
164
+ "method": "POST",
165
+ "rel": "create",
166
+ "schema": {
167
+ "properties": {
168
+ "email": {
169
+ "$ref": "/schemata/identification#/definitions/email"
170
+ },
171
+ "ip": {
172
+ "$ref": "/schemata/identification#/definitions/ip"
173
+ },
174
+ "user_agent": {
175
+ "$ref": "/schemata/identification#/definitions/user_agent"
176
+ },
177
+ "url": {
178
+ "$ref": "/schemata/identification#/definitions/url"
179
+ }
180
+ },
181
+ "required": [
182
+ "ip",
183
+ "user_agent",
184
+ "url"
185
+ ],
186
+ "type": [
187
+ "object"
188
+ ]
189
+ },
190
+ "title": "Create"
191
+ },
192
+ {
193
+ "description": "retrieve a single identification object",
194
+ "href": "/api/identifications/{(%2Fschemata%2Fidentification%23%2Fdefinitions%2Fidentity)}",
195
+ "method": "GET",
196
+ "rel": "self",
197
+ "title": "Info"
198
+ }
199
+ ],
200
+ "properties": {
201
+ "created": {
202
+ "$ref": "/schemata/identification#/definitions/created"
203
+ },
204
+ "id": {
205
+ "$ref": "/schemata/identification#/definitions/id"
206
+ },
207
+ "url": {
208
+ "$ref": "/schemata/identification#/definitions/url"
209
+ },
210
+ "ip": {
211
+ "$ref": "/schemata/identification#/definitions/ip"
212
+ },
213
+ "status": {
214
+ "$ref": "/schemata/identification#/definitions/status"
215
+ },
216
+ "terms": {
217
+ "$ref": "/schemata/identification#/definitions/terms"
218
+ },
219
+ "authorizations": {
220
+ "$ref": "/schemata/identification#/definitions/authorizations"
221
+ },
222
+ "unit_requests": {
223
+ "$ref": "/schemata/identification#/definitions/unit_requests"
224
+ },
225
+ "publisher": {
226
+ "$ref": "/schemata/identification#/definitions/publisher"
227
+ },
228
+ "user_agent": {
229
+ "$ref": "/schemata/identification#/definitions/user_agent"
230
+ },
231
+ "user_institution": {
232
+ "$ref": "/schemata/identification#/definitions/user_institution"
233
+ },
234
+ "target_account": {
235
+ "$ref": "/schemata/identification#/definitions/target_account"
236
+ }
237
+ },
238
+ "id": "schemata/identification"
239
+ }