-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathproviders.raml
159 lines (155 loc) · 5.78 KB
/
providers.raml
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
153
154
155
156
157
158
159
#%RAML 1.0
title: mod-kb-ebsco-java
baseUri: https://github.com/folio-org/mod-kb-ebsco-java
protocols: [ HTTPS ]
version: v1
mediaType: "application/vnd.api+json"
documentation:
- title: mod-kb-ebsco-java
content: Implements the eholdings interface using EBSCO KB as backend.
types:
providerCollection: !include types/providers/providerCollection.json
providerPutRequest: !include types/providers/providerPutRequest.json
providerTags: !include types/providers/providerTags.json
providerTagsPutRequest: !include types/providers/providerTagsPutRequest.json
provider: !include types/providers/provider.json
packageCollection: !include types/packages/packageCollection.json
jsonapiError: !include types/jsonapiError.json
traits:
queriable: !include traits/queriable.raml
sortable: !include traits/sortable.raml
pageable: !include traits/pageable.raml
filterable: !include traits/filterable.raml
taggable: !include traits/taggable.raml
accessible: !include traits/accessible.raml
includable: !include traits/includePackages.raml
/eholdings/providers:
displayName: Providers
description: Collection of available providers in eholdings.
get:
description: Get a list of providers based on the search query.
is: [queriable, taggable,
sortable: {defaultValue: 'relevance', possibleValues: 'name, relevance'},
pageable: {maxCountValue: 100, defaultCountValue: 25}]
responses:
200:
description: OK
body:
application/vnd.api+json:
description: List of providers matching the provider name and the total number of providers found.
type: providerCollection
example:
strict: false
value: !include examples/providers/providers_get_200_response.json
/{providerId}:
displayName: Get provider by provider Id
description: Instance of a provider given providerId
uriParameters:
providerId:
description: Provider Id of provider to get
type: string
get:
description: Get provider given providerId
is: [includable]
responses:
200:
description: OK
body:
application/vnd.api+json:
description: Provider details from KB for a given provider Id.
type: provider
example:
strict: false
value: !include examples/providers/providers_providerId_get_200_response.json
404:
description: Not Found
body:
application/vnd.api+json:
description: Provider details not found.
example:
strict: false
value: !include examples/providers/providers_providerId_404_response.json
put:
description: |
Update proxy and token information for a given provider Id.
headers:
Content-Type:
example: application/vnd.api+json
body:
application/vnd.api+json:
type: providerPutRequest
example:
strict: false
value: !include examples/providers/providers_providerId_put_request.json
responses:
200:
description: OK
body:
application/vnd.api+json:
description: The server has successfully fulfilled the PUT request.
type: provider
example:
strict: false
value: !include examples/providers/providers_providerId_put_200_response.json
/tags:
put:
description: Update tags assigned to provider
headers:
Content-Type:
example: application/vnd.api+json
body:
application/vnd.api+json:
type: providerTagsPutRequest
example:
strict: false
value: !include examples/providers/providers_tags_put_request.json
responses:
200:
description: OK
body:
application/vnd.api+json:
description: Updated list of tags
type: providerTags
example:
strict: false
value: !include examples/providers/providers_tags_put_200_response.json
422:
description: Unprocessable Entity
body:
application/vnd.api+json:
type: jsonapiError
example:
strict: false
value: !include examples/providers/providers_tags_put_422_response.json
/packages:
get:
description: Search within a list of packages associated with a given provider.
is: [queriable, taggable, accessible, filterable,
sortable: {defaultValue: 'relevance', possibleValues: 'name, relevance'},
pageable: {maxCountValue: 100, defaultCountValue: 25}]
responses:
200:
description: OK
body:
application/vnd.api+json:
description: List of packages associated with a given provider matching search criteria.
type: packageCollection
example:
strict: false
value: !include examples/providers/providers_providerId_packages_get_200_response.json
400:
description: Bad Request
body:
application/vnd.api+json:
type: jsonapiError
example:
strict: false
value: !include examples/providers/providers_providerId_packages_get_400_response.json
404:
description: Not Found
body:
application/vnd.api+json:
type: jsonapiError
example:
strict: false
value: !include examples/providers/providers_providerId_packages_get_404_response.json