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,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 0fe4d72c4727a875b22339767d341ddad10d4ea67c7d696f197e958bc047cfa9
4
+ data.tar.gz: d78d47e1de2396924105918a335667928e37d7b33463fcc605d8f49b2cbbcc05
5
+ SHA512:
6
+ metadata.gz: f9e1097852ad4a367f0c9c661307c9145aaac7b84ccf99eb026aa170529eaa51c266442decbac36d7cda52622f47a9a79332082db9ff61360a44310b50a0a5d5
7
+ data.tar.gz: 6981696e13fa5ff3fb251287545982cd585b655f3828bcd9c4895fca46cfe805a40d9048d232edce81f66aa22f5266b820326ec35cb1fd5a39ee9ffa15ecd9b7
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
@@ -0,0 +1,53 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ liblynx-api (1.0.0)
5
+ heroics
6
+ moneta
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ diff-lcs (1.3)
12
+ erubis (2.7.0)
13
+ excon (0.60.0)
14
+ heroics (0.0.24)
15
+ erubis (~> 2.0)
16
+ excon
17
+ moneta
18
+ multi_json (>= 1.9.2)
19
+ json_schema (0.17.0)
20
+ moneta (1.0.0)
21
+ multi_json (1.13.1)
22
+ prmd (0.13.0)
23
+ erubis (~> 2.7)
24
+ json_schema (~> 0.3, >= 0.3.1)
25
+ rake (10.5.0)
26
+ rspec (3.7.0)
27
+ rspec-core (~> 3.7.0)
28
+ rspec-expectations (~> 3.7.0)
29
+ rspec-mocks (~> 3.7.0)
30
+ rspec-core (3.7.1)
31
+ rspec-support (~> 3.7.0)
32
+ rspec-expectations (3.7.0)
33
+ diff-lcs (>= 1.2.0, < 2.0)
34
+ rspec-support (~> 3.7.0)
35
+ rspec-mocks (3.7.0)
36
+ diff-lcs (>= 1.2.0, < 2.0)
37
+ rspec-support (~> 3.7.0)
38
+ rspec-support (3.7.0)
39
+ yard (0.9.12)
40
+
41
+ PLATFORMS
42
+ ruby
43
+
44
+ DEPENDENCIES
45
+ bundler
46
+ liblynx-api!
47
+ prmd
48
+ rake (< 11.0)
49
+ rspec
50
+ yard
51
+
52
+ BUNDLED WITH
53
+ 1.16.1
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2018 Denis Sablic
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,33 @@
1
+ # LibLynx API
2
+
3
+ Ruby HTTP client for the LibLynx API.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```
10
+ gem 'liblynx-api'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ ```
16
+ bundle
17
+ ```
18
+
19
+ Or install it yourself as:
20
+
21
+ ```
22
+ gem install liblynx-api
23
+ ```
24
+
25
+ ## Usage example
26
+
27
+ ```ruby
28
+ require 'liblynx-api'
29
+
30
+ client = LibLynxAPI.connect_oauth2(CLIENT_ID, CLIENT_SECRET)
31
+ # print account resources
32
+ pp client.account.list
33
+ ```
@@ -0,0 +1,35 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'prmd/rake_tasks/combine'
3
+ require 'prmd/rake_tasks/verify'
4
+ require 'prmd/rake_tasks/doc'
5
+
6
+ namespace :schema do
7
+ Prmd::RakeTasks::Combine.new do |t|
8
+ t.options[:meta] = 'meta.json'
9
+ t.paths << 'schemata'
10
+ t.output_file = 'schema.json'
11
+ end
12
+
13
+ Prmd::RakeTasks::Verify.new do |t|
14
+ t.files << 'schema.json'
15
+ end
16
+
17
+ Prmd::RakeTasks::Doc.new do |t|
18
+ t.options[:settings] = 'config.json'
19
+ t.files = { 'schema.json' => 'api.md' }
20
+ end
21
+ end
22
+
23
+ desc 'Build the client'
24
+ task :client do
25
+ sh 'bundle exec heroics-generate ./config/config.rb > lib/liblynx-api/client.rb'
26
+ end
27
+
28
+ task build: ['schema:combine', 'schema:verify', 'schema:doc', 'client']
29
+
30
+ begin
31
+ require 'rspec/core/rake_task'
32
+ RSpec::Core::RakeTask.new(:spec)
33
+ task default: [:spec]
34
+ rescue LoadError
35
+ end
data/api.md ADDED
@@ -0,0 +1,713 @@
1
+
2
+ ## <a name="resource-account">Account</a>
3
+
4
+ Stability: `production`
5
+
6
+
7
+
8
+ ### Attributes
9
+
10
+ | Name | Type | Description | Example |
11
+ | ------- | ------- | ------- | ------- |
12
+ | **active** | *boolean* | active | `true` |
13
+ | **created_at** | *date-time* | when account was created | `"2015-01-01T12:00:00Z"` |
14
+ | **email_domains** | *string* | cr separated email domains | `"*.somedomain.com\nalt.somedomain2.com"` |
15
+ | **enable_archimed** | *boolean* | enable archimed | `true` |
16
+ | **enable_individual** | *boolean* | enable individual | `true` |
17
+ | **enable_ip** | *boolean* | enable ip | `true` |
18
+ | **enable_lib_portal_stats** | *boolean* | enable lib portal stats | `true` |
19
+ | **enable_library_card** | *boolean* | enable library card | `true` |
20
+ | **enable_open_athens** | *boolean* | enable open athens | `true` |
21
+ | **enable_pass_code** | *boolean* | enable pass code | `true` |
22
+ | **enable_referrer** | *boolean* | enable referrer | `true` |
23
+ | **enable_saml** | *boolean* | enable saml | `true` |
24
+ | **enable_self_registration** | *boolean* | enable self registration | `true` |
25
+ | **enable_shibboleth** | *boolean* | enable shibboleth | `true` |
26
+ | **id** | *integer* | unique identifier of account | `42` |
27
+ | **individual** | *boolean* | individual | `true` |
28
+ | **individual_limit** | *integer* | individual limit | `42` |
29
+ | **name** | *string* | unique name of account | `"example"` |
30
+ | **publisher_reference** | *string* | publisher reference | `"example"` |
31
+ | **shibboleth_entity_id** | *uri* | shibboleth entity id | |
32
+ | **type** | *string* | type | `"example"` |
33
+ | **updated_at** | *date-time* | when account was updated | `"2015-01-01T12:00:00Z"` |
34
+
35
+ ### <a name="link-POST-account-/api/accounts">Account Create</a>
36
+
37
+ Create a new account.
38
+
39
+ ```
40
+ POST /api/accounts
41
+ ```
42
+
43
+ #### Required Parameters
44
+
45
+ | Name | Type | Description | Example |
46
+ | ------- | ------- | ------- | ------- |
47
+ | **account_name** | *string* | unique name of account | `"example"` |
48
+
49
+
50
+ #### Optional Parameters
51
+
52
+ | Name | Type | Description | Example |
53
+ | ------- | ------- | ------- | ------- |
54
+ | **active** | *boolean* | active | `true` |
55
+ | **email_domains** | *string* | cr separated email domains | `"*.somedomain.com\nalt.somedomain2.com"` |
56
+ | **enable_archimed** | *boolean* | enable archimed | `true` |
57
+ | **enable_individual** | *boolean* | enable individual | `true` |
58
+ | **enable_ip** | *boolean* | enable ip | `true` |
59
+ | **enable_lib_portal_stats** | *boolean* | enable lib portal stats | `true` |
60
+ | **enable_library_card** | *boolean* | enable library card | `true` |
61
+ | **enable_open_athens** | *boolean* | enable open athens | `true` |
62
+ | **enable_pass_code** | *boolean* | enable pass code | `true` |
63
+ | **enable_referrer** | *boolean* | enable referrer | `true` |
64
+ | **enable_saml** | *boolean* | enable saml | `true` |
65
+ | **enable_self_registration** | *boolean* | enable self registration | `true` |
66
+ | **enable_shibboleth** | *boolean* | enable shibboleth | `true` |
67
+ | **individual** | *boolean* | individual | `true` |
68
+ | **individual_limit** | *integer* | individual limit | `42` |
69
+ | **publisher_reference** | *string* | publisher reference | `"example"` |
70
+ | **shibboleth_entity_id** | *uri* | shibboleth entity id | |
71
+ | **type** | *string* | type | `"example"` |
72
+
73
+
74
+ #### Curl Example
75
+
76
+ ```bash
77
+ $ curl -n -X POST https://connect.liblynx.com/api/accounts \
78
+ -d '{
79
+ "account_name": "example",
80
+ "publisher_reference": "example",
81
+ "email_domains": "*.somedomain.com\nalt.somedomain2.com",
82
+ "enable_saml": true,
83
+ "enable_shibboleth": true,
84
+ "shibboleth_entity_id": "example",
85
+ "enable_ip": true,
86
+ "enable_pass_code": true,
87
+ "enable_referrer": true,
88
+ "enable_library_card": true,
89
+ "enable_individual": true,
90
+ "enable_open_athens": true,
91
+ "enable_archimed": true,
92
+ "active": true,
93
+ "enable_self_registration": true,
94
+ "enable_lib_portal_stats": true,
95
+ "individual_limit": 42,
96
+ "individual": true,
97
+ "type": "example"
98
+ }' \
99
+ -H "Content-Type: application/json"
100
+ ```
101
+
102
+
103
+ #### Response Example
104
+
105
+ ```
106
+ HTTP/1.1 201 Created
107
+ ```
108
+
109
+ ```json
110
+ {
111
+ "created_at": "2015-01-01T12:00:00Z",
112
+ "id": 42,
113
+ "name": "example",
114
+ "publisher_reference": "example",
115
+ "enable_saml": true,
116
+ "enable_shibboleth": true,
117
+ "email_domains": "*.somedomain.com\nalt.somedomain2.com",
118
+ "updated_at": "2015-01-01T12:00:00Z",
119
+ "shibboleth_entity_id": "example",
120
+ "enable_ip": true,
121
+ "enable_pass_code": true,
122
+ "enable_referrer": true,
123
+ "enable_library_card": true,
124
+ "enable_individual": true,
125
+ "enable_open_athens": true,
126
+ "enable_archimed": true,
127
+ "active": true,
128
+ "enable_self_registration": true,
129
+ "enable_lib_portal_stats": true,
130
+ "individual_limit": 42,
131
+ "individual": true,
132
+ "type": "example"
133
+ }
134
+ ```
135
+
136
+ ### <a name="link-DELETE-account-/api/accounts/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}">Account Delete</a>
137
+
138
+ Delete an existing account.
139
+
140
+ ```
141
+ DELETE /api/accounts/{account_id}
142
+ ```
143
+
144
+
145
+ #### Curl Example
146
+
147
+ ```bash
148
+ $ curl -n -X DELETE https://connect.liblynx.com/api/accounts/$ACCOUNT_ID \
149
+ -H "Content-Type: application/json"
150
+ ```
151
+
152
+
153
+ #### Response Example
154
+
155
+ ```
156
+ HTTP/1.1 200 OK
157
+ ```
158
+
159
+ ```json
160
+ null
161
+ ```
162
+
163
+ ### <a name="link-GET-account-/api/accounts/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}">Account Info</a>
164
+
165
+ Info for existing account.
166
+
167
+ ```
168
+ GET /api/accounts/{account_id}
169
+ ```
170
+
171
+
172
+ #### Curl Example
173
+
174
+ ```bash
175
+ $ curl -n https://connect.liblynx.com/api/accounts/$ACCOUNT_ID
176
+ ```
177
+
178
+
179
+ #### Response Example
180
+
181
+ ```
182
+ HTTP/1.1 200 OK
183
+ ```
184
+
185
+ ```json
186
+ {
187
+ "created_at": "2015-01-01T12:00:00Z",
188
+ "id": 42,
189
+ "name": "example",
190
+ "publisher_reference": "example",
191
+ "enable_saml": true,
192
+ "enable_shibboleth": true,
193
+ "email_domains": "*.somedomain.com\nalt.somedomain2.com",
194
+ "updated_at": "2015-01-01T12:00:00Z",
195
+ "shibboleth_entity_id": "example",
196
+ "enable_ip": true,
197
+ "enable_pass_code": true,
198
+ "enable_referrer": true,
199
+ "enable_library_card": true,
200
+ "enable_individual": true,
201
+ "enable_open_athens": true,
202
+ "enable_archimed": true,
203
+ "active": true,
204
+ "enable_self_registration": true,
205
+ "enable_lib_portal_stats": true,
206
+ "individual_limit": 42,
207
+ "individual": true,
208
+ "type": "example"
209
+ }
210
+ ```
211
+
212
+ ### <a name="link-GET-account-/api/accounts">Account List</a>
213
+
214
+ List existing accounts.
215
+
216
+ ```
217
+ GET /api/accounts
218
+ ```
219
+
220
+
221
+ #### Curl Example
222
+
223
+ ```bash
224
+ $ curl -n https://connect.liblynx.com/api/accounts
225
+ ```
226
+
227
+
228
+ #### Response Example
229
+
230
+ ```
231
+ HTTP/1.1 200 OK
232
+ ```
233
+
234
+ ```json
235
+ {
236
+ "accounts": [
237
+ {
238
+ "id": 42,
239
+ "account_name": "example",
240
+ "individual": true,
241
+ "active": true,
242
+ "publisher_reference": "example",
243
+ "type": "example",
244
+ "modified_date": "2015-01-01T12:00:00Z",
245
+ "creation_date": "2015-01-01T12:00:00Z"
246
+ }
247
+ ]
248
+ }
249
+ ```
250
+
251
+ ### <a name="link-PUT-account-/api/accounts/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}">Account Update</a>
252
+
253
+ Update an existing account.
254
+
255
+ ```
256
+ PUT /api/accounts/{account_id}
257
+ ```
258
+
259
+ #### Optional Parameters
260
+
261
+ | Name | Type | Description | Example |
262
+ | ------- | ------- | ------- | ------- |
263
+ | **account_name** | *string* | unique name of account | `"example"` |
264
+ | **active** | *boolean* | active | `true` |
265
+ | **email_domains** | *string* | cr separated email domains | `"*.somedomain.com\nalt.somedomain2.com"` |
266
+ | **enable_archimed** | *boolean* | enable archimed | `true` |
267
+ | **enable_individual** | *boolean* | enable individual | `true` |
268
+ | **enable_ip** | *boolean* | enable ip | `true` |
269
+ | **enable_lib_portal_stats** | *boolean* | enable lib portal stats | `true` |
270
+ | **enable_library_card** | *boolean* | enable library card | `true` |
271
+ | **enable_open_athens** | *boolean* | enable open athens | `true` |
272
+ | **enable_pass_code** | *boolean* | enable pass code | `true` |
273
+ | **enable_referrer** | *boolean* | enable referrer | `true` |
274
+ | **enable_saml** | *boolean* | enable saml | `true` |
275
+ | **enable_self_registration** | *boolean* | enable self registration | `true` |
276
+ | **enable_shibboleth** | *boolean* | enable shibboleth | `true` |
277
+ | **individual** | *boolean* | individual | `true` |
278
+ | **individual_limit** | *integer* | individual limit | `42` |
279
+ | **publisher_reference** | *string* | publisher reference | `"example"` |
280
+ | **shibboleth_entity_id** | *uri* | shibboleth entity id | |
281
+ | **type** | *string* | type | `"example"` |
282
+
283
+
284
+ #### Curl Example
285
+
286
+ ```bash
287
+ $ curl -n -X PUT https://connect.liblynx.com/api/accounts/$ACCOUNT_ID \
288
+ -d '{
289
+ "account_name": "example",
290
+ "publisher_reference": "example",
291
+ "email_domains": "*.somedomain.com\nalt.somedomain2.com",
292
+ "enable_saml": true,
293
+ "enable_shibboleth": true,
294
+ "shibboleth_entity_id": "example",
295
+ "enable_ip": true,
296
+ "enable_pass_code": true,
297
+ "enable_referrer": true,
298
+ "enable_library_card": true,
299
+ "enable_individual": true,
300
+ "enable_open_athens": true,
301
+ "enable_archimed": true,
302
+ "active": true,
303
+ "enable_self_registration": true,
304
+ "enable_lib_portal_stats": true,
305
+ "individual_limit": 42,
306
+ "individual": true,
307
+ "type": "example"
308
+ }' \
309
+ -H "Content-Type: application/json"
310
+ ```
311
+
312
+
313
+ #### Response Example
314
+
315
+ ```
316
+ HTTP/1.1 200 OK
317
+ ```
318
+
319
+ ```json
320
+ {
321
+ "created_at": "2015-01-01T12:00:00Z",
322
+ "id": 42,
323
+ "name": "example",
324
+ "publisher_reference": "example",
325
+ "enable_saml": true,
326
+ "enable_shibboleth": true,
327
+ "email_domains": "*.somedomain.com\nalt.somedomain2.com",
328
+ "updated_at": "2015-01-01T12:00:00Z",
329
+ "shibboleth_entity_id": "example",
330
+ "enable_ip": true,
331
+ "enable_pass_code": true,
332
+ "enable_referrer": true,
333
+ "enable_library_card": true,
334
+ "enable_individual": true,
335
+ "enable_open_athens": true,
336
+ "enable_archimed": true,
337
+ "active": true,
338
+ "enable_self_registration": true,
339
+ "enable_lib_portal_stats": true,
340
+ "individual_limit": 42,
341
+ "individual": true,
342
+ "type": "example"
343
+ }
344
+ ```
345
+
346
+
347
+ ## <a name="resource-identification">Identification</a>
348
+
349
+ Stability: `production`
350
+
351
+
352
+
353
+ ### Attributes
354
+
355
+ | Name | Type | Description | Example |
356
+ | ------- | ------- | ------- | ------- |
357
+ | **authorizations** | *array* | authorizations | |
358
+ | **created** | *date-time* | when identification was created | `"2015-01-01T12:00:00Z"` |
359
+ | **id** | *uuid* | unique identifier of identification | `"01234567-89ab-cdef-0123-456789abcdef"` |
360
+ | **ip** | *ipv4* | ip address | `"192.0.2.1"` |
361
+ | **publisher:id** | *integer* | | `42` |
362
+ | **publisher:publisher_name** | *string* | | `"example"` |
363
+ | **status** | *string* | status | `"example"` |
364
+ | **target_account:account_name** | *string* | | `"example"` |
365
+ | **target_account:id** | *integer* | | `42` |
366
+ | **target_account:individual** | *boolean* | | `true` |
367
+ | **target_account:publisher_reference** | *string* | | `"example"` |
368
+ | **target_account:type** | *string* | | `"example"` |
369
+ | **terms** | *string* | terms | `"example"` |
370
+ | **unit_requests** | *array* | unit requests | |
371
+ | **url** | *uri* | callback url | |
372
+ | **user_agent** | *string* | user agent | `"example"` |
373
+ | **user_institution:account_name** | *string* | | `"example"` |
374
+ | **user_institution:country_code** | *string* | | `"example"` |
375
+ | **user_institution:id** | *integer* | | `42` |
376
+ | **user_institution:type** | *string* | | `"example"` |
377
+
378
+ ### <a name="link-POST-identification-/api/identifications">Identification Create</a>
379
+
380
+ create a new identification resource to try and identify an account to link a new session with
381
+
382
+ ```
383
+ POST /api/identifications
384
+ ```
385
+
386
+ #### Required Parameters
387
+
388
+ | Name | Type | Description | Example |
389
+ | ------- | ------- | ------- | ------- |
390
+ | **ip** | *ipv4* | ip address | `"192.0.2.1"` |
391
+ | **url** | *uri* | callback url | |
392
+ | **user_agent** | *string* | user agent | `"example"` |
393
+
394
+
395
+ #### Optional Parameters
396
+
397
+ | Name | Type | Description | Example |
398
+ | ------- | ------- | ------- | ------- |
399
+ | **email** | *email* | user email address | `"username@example.com"` |
400
+
401
+
402
+ #### Curl Example
403
+
404
+ ```bash
405
+ $ curl -n -X POST https://connect.liblynx.com/api/identifications \
406
+ -d '{
407
+ "email": "username@example.com",
408
+ "ip": "192.0.2.1",
409
+ "user_agent": "example",
410
+ "url": "example"
411
+ }' \
412
+ -H "Content-Type: application/json"
413
+ ```
414
+
415
+
416
+ #### Response Example
417
+
418
+ ```
419
+ HTTP/1.1 201 Created
420
+ ```
421
+
422
+ ```json
423
+ {
424
+ "created": "2015-01-01T12:00:00Z",
425
+ "id": "01234567-89ab-cdef-0123-456789abcdef",
426
+ "url": "example",
427
+ "ip": "192.0.2.1",
428
+ "status": "example",
429
+ "terms": "example",
430
+ "authorizations": null,
431
+ "unit_requests": null,
432
+ "publisher": {
433
+ "id": 42,
434
+ "publisher_name": "example"
435
+ },
436
+ "user_agent": "example",
437
+ "user_institution": {
438
+ "id": 42,
439
+ "account_name": "example",
440
+ "country_code": "example",
441
+ "type": "example"
442
+ },
443
+ "target_account": {
444
+ "id": 42,
445
+ "account_name": "example",
446
+ "individual": true,
447
+ "type": "example",
448
+ "publisher_reference": "example"
449
+ }
450
+ }
451
+ ```
452
+
453
+ ### <a name="link-GET-identification-/api/identifications/{(%23%2Fdefinitions%2Fidentification%2Fdefinitions%2Fidentity)}">Identification Info</a>
454
+
455
+ retrieve a single identification object
456
+
457
+ ```
458
+ GET /api/identifications/{identification_id}
459
+ ```
460
+
461
+
462
+ #### Curl Example
463
+
464
+ ```bash
465
+ $ curl -n https://connect.liblynx.com/api/identifications/$IDENTIFICATION_ID
466
+ ```
467
+
468
+
469
+ #### Response Example
470
+
471
+ ```
472
+ HTTP/1.1 200 OK
473
+ ```
474
+
475
+ ```json
476
+ {
477
+ "created": "2015-01-01T12:00:00Z",
478
+ "id": "01234567-89ab-cdef-0123-456789abcdef",
479
+ "url": "example",
480
+ "ip": "192.0.2.1",
481
+ "status": "example",
482
+ "terms": "example",
483
+ "authorizations": null,
484
+ "unit_requests": null,
485
+ "publisher": {
486
+ "id": 42,
487
+ "publisher_name": "example"
488
+ },
489
+ "user_agent": "example",
490
+ "user_institution": {
491
+ "id": 42,
492
+ "account_name": "example",
493
+ "country_code": "example",
494
+ "type": "example"
495
+ },
496
+ "target_account": {
497
+ "id": 42,
498
+ "account_name": "example",
499
+ "individual": true,
500
+ "type": "example",
501
+ "publisher_reference": "example"
502
+ }
503
+ }
504
+ ```
505
+
506
+
507
+ ## <a name="resource-samlidp">Samlidp</a>
508
+
509
+ Stability: `production`
510
+
511
+
512
+
513
+ ### Attributes
514
+
515
+ | Name | Type | Description | Example |
516
+ | ------- | ------- | ------- | ------- |
517
+ | **descriptor_url** | *string* | saml descriptor url | `"example"` |
518
+ | **entity_id** | *string* | entity_id | `"example"` |
519
+ | **id** | *integer* | unique identifier of samlidp | `42` |
520
+ | **type** | *string* | type | `"example"` |
521
+ | **xml_descriptor** | *string* | xml descriptor | `"example"` |
522
+
523
+ ### <a name="link-POST-samlidp-/api/accounts/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}/samlidps">Samlidp Create</a>
524
+
525
+ Create a new samlidp.
526
+
527
+ ```
528
+ POST /api/accounts/{account_id}/samlidps
529
+ ```
530
+
531
+ #### Required Parameters
532
+
533
+ | Name | Type | Description | Example |
534
+ | ------- | ------- | ------- | ------- |
535
+ | **descriptor_url** | *string* | saml descriptor url | `"example"` |
536
+
537
+
538
+
539
+ #### Curl Example
540
+
541
+ ```bash
542
+ $ curl -n -X POST https://connect.liblynx.com/api/accounts/$ACCOUNT_ID/samlidps \
543
+ -d '{
544
+ "descriptor_url": "example"
545
+ }' \
546
+ -H "Content-Type: application/json"
547
+ ```
548
+
549
+
550
+ #### Response Example
551
+
552
+ ```
553
+ HTTP/1.1 201 Created
554
+ ```
555
+
556
+ ```json
557
+ {
558
+ "id": 42,
559
+ "descriptor_url": "example",
560
+ "xml_descriptor": "example",
561
+ "type": "example",
562
+ "entity_id": "example"
563
+ }
564
+ ```
565
+
566
+ ### <a name="link-DELETE-samlidp-/api/accounts/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}/samlidps/{(%23%2Fdefinitions%2Fsamlidp%2Fdefinitions%2Fidentity)}">Samlidp Delete</a>
567
+
568
+ Delete an existing samlidp.
569
+
570
+ ```
571
+ DELETE /api/accounts/{account_id}/samlidps/{samlidp_id}
572
+ ```
573
+
574
+
575
+ #### Curl Example
576
+
577
+ ```bash
578
+ $ curl -n -X DELETE https://connect.liblynx.com/api/accounts/$ACCOUNT_ID/samlidps/$SAMLIDP_ID \
579
+ -H "Content-Type: application/json"
580
+ ```
581
+
582
+
583
+ #### Response Example
584
+
585
+ ```
586
+ HTTP/1.1 200 OK
587
+ ```
588
+
589
+ ```json
590
+ null
591
+ ```
592
+
593
+ ### <a name="link-GET-samlidp-/api/accounts/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}/samlidps/{(%23%2Fdefinitions%2Fsamlidp%2Fdefinitions%2Fidentity)}">Samlidp Info</a>
594
+
595
+ Info for existing samlidp.
596
+
597
+ ```
598
+ GET /api/accounts/{account_id}/samlidps/{samlidp_id}
599
+ ```
600
+
601
+
602
+ #### Curl Example
603
+
604
+ ```bash
605
+ $ curl -n https://connect.liblynx.com/api/accounts/$ACCOUNT_ID/samlidps/$SAMLIDP_ID
606
+ ```
607
+
608
+
609
+ #### Response Example
610
+
611
+ ```
612
+ HTTP/1.1 200 OK
613
+ ```
614
+
615
+ ```json
616
+ {
617
+ "id": 42,
618
+ "descriptor_url": "example",
619
+ "xml_descriptor": "example",
620
+ "type": "example",
621
+ "entity_id": "example"
622
+ }
623
+ ```
624
+
625
+ ### <a name="link-GET-samlidp-/api/accounts/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}/samlidps">Samlidp List</a>
626
+
627
+ List existing samlidps.
628
+
629
+ ```
630
+ GET /api/accounts/{account_id}/samlidps
631
+ ```
632
+
633
+
634
+ #### Curl Example
635
+
636
+ ```bash
637
+ $ curl -n https://connect.liblynx.com/api/accounts/$ACCOUNT_ID/samlidps
638
+ ```
639
+
640
+
641
+ #### Response Example
642
+
643
+ ```
644
+ HTTP/1.1 200 OK
645
+ ```
646
+
647
+ ```json
648
+ {
649
+ "samlidps": [
650
+ {
651
+ "id": 42,
652
+ "descriptor_url": "example",
653
+ "xml_descriptor": "example",
654
+ "type": "example",
655
+ "entity_id": "example"
656
+ }
657
+ ]
658
+ }
659
+ ```
660
+
661
+
662
+ ## <a name="resource-token">OAuth2 token</a>
663
+
664
+ Stability: `production`
665
+
666
+
667
+
668
+ ### Attributes
669
+
670
+ | Name | Type | Description | Example |
671
+ | ------- | ------- | ------- | ------- |
672
+ | **account_token** | *string* | unique identifier of identification | `"example"` |
673
+
674
+ ### <a name="link-POST-token-/oauth/v2/token">OAuth2 token Create</a>
675
+
676
+ Create a new oauth2 token
677
+
678
+ ```
679
+ POST /oauth/v2/token
680
+ ```
681
+
682
+ #### Required Parameters
683
+
684
+ | Name | Type | Description | Example |
685
+ | ------- | ------- | ------- | ------- |
686
+ | **grant_type** | *string* | grant_type | `"client_credentials"` |
687
+
688
+
689
+
690
+ #### Curl Example
691
+
692
+ ```bash
693
+ $ curl -n -X POST https://connect.liblynx.com/oauth/v2/token \
694
+ -d '{
695
+ "grant_type": "client_credentials"
696
+ }' \
697
+ -H "Content-Type: application/json"
698
+ ```
699
+
700
+
701
+ #### Response Example
702
+
703
+ ```
704
+ HTTP/1.1 201 Created
705
+ ```
706
+
707
+ ```json
708
+ {
709
+ "account_token": "example"
710
+ }
711
+ ```
712
+
713
+