Bug 32030: ERM - Licenses
[koha.git] / api / v1 / swagger / swagger.yaml
1 ---
2 swagger: "2.0"
3 basePath: /api/v1
4 definitions:
5   account_line:
6     $ref: ./definitions/account_line.yaml
7   advancededitormacro:
8     $ref: ./definitions/advancededitormacro.yaml
9   allows_renewal:
10     $ref: ./definitions/allows_renewal.yaml
11   basket:
12     $ref: ./definitions/basket.yaml
13   bundle_link:
14     $ref: ./definitions/bundle_link.yaml
15   cashup:
16     $ref: ./definitions/cashup.yaml
17   checkout:
18     $ref: ./definitions/checkout.yaml
19   checkouts:
20     $ref: ./definitions/checkouts.yaml
21   circ-rule-kind:
22     $ref: ./definitions/circ-rule-kind.yaml
23   city:
24     $ref: ./definitions/city.yaml
25   erm_agreement:
26     $ref: ./definitions/erm_agreement.yaml
27   erm_license:
28     $ref: ./definitions/erm_license.yaml
29   error:
30     $ref: ./definitions/error.yaml
31   fund:
32     $ref: ./definitions/fund.yaml
33   hold:
34     $ref: ./definitions/hold.yaml
35   holds:
36     $ref: ./definitions/holds.yaml
37   ill_backend:
38     $ref: ./definitions/ill_backend.yaml
39   ill_backends:
40     $ref: ./definitions/ill_backends.yaml
41   import_batch_profile:
42     $ref: ./definitions/import_batch_profile.yaml
43   import_batch_profiles:
44     $ref: ./definitions/import_batch_profiles.yaml
45   import_record_match:
46     $ref: ./definitions/import_record_match.yaml
47   invoice:
48     $ref: ./definitions/invoice.yaml
49   item:
50     $ref: ./definitions/item.yaml
51   item_group:
52     $ref: ./definitions/item_group.yaml
53   job:
54     $ref: ./definitions/job.yaml
55   library:
56     $ref: ./definitions/library.yaml
57   order:
58     $ref: ./definitions/order.yaml
59   patron:
60     $ref: ./definitions/patron.yaml
61   patron_account_credit:
62     $ref: ./definitions/patron_account_credit.yaml
63   patron_balance:
64     $ref: ./definitions/patron_balance.yaml
65   patron_extended_attribute:
66     $ref: ./definitions/patron_extended_attribute.yaml
67   quote:
68     $ref: ./definitions/quote.yaml
69   renewal:
70     $ref: ./definitions/renewal.yaml
71   renewals:
72     $ref: ./definitions/renewals.yaml
73   return_claim:
74     $ref: ./definitions/return_claim.yaml
75   search_filter:
76     $ref: ./definitions/search_filter.yaml
77   smtp_server:
78     $ref: ./definitions/smtp_server.yaml
79   suggestion:
80     $ref: ./definitions/suggestion.yaml
81   transfer_limit:
82     $ref: ./definitions/transfer_limit.yaml
83   vendor:
84     $ref: ./definitions/vendor.yaml
85 paths:
86   /acquisitions/baskets/managers:
87     $ref: paths/acquisitions_baskets.yaml#/~1acquisitions~1baskets~1managers
88   /acquisitions/funds:
89     $ref: ./paths/acquisitions_funds.yaml#/~1acquisitions~1funds
90   /acquisitions/funds/owners:
91     $ref: paths/acquisitions_funds.yaml#/~1acquisitions~1funds~1owners
92   /acquisitions/funds/users:
93     $ref: paths/acquisitions_funds.yaml#/~1acquisitions~1funds~1users
94   /acquisitions/orders:
95     $ref: ./paths/acquisitions_orders.yaml#/~1acquisitions~1orders
96   "/acquisitions/orders/{order_id}":
97     $ref: "./paths/acquisitions_orders.yaml#/~1acquisitions~1orders~1{order_id}"
98   /acquisitions/vendors:
99     $ref: ./paths/acquisitions_vendors.yaml#/~1acquisitions~1vendors
100   "/acquisitions/vendors/{vendor_id}":
101     $ref: "./paths/acquisitions_vendors.yaml#/~1acquisitions~1vendors~1{vendor_id}"
102   /advanced_editor/macros:
103     $ref: ./paths/advancededitormacros.yaml#/~1advanced_editor~1macros
104   /advanced_editor/macros/shared:
105     $ref: ./paths/advancededitormacros.yaml#/~1advanced_editor~1macros~1shared
106   /search_filters:
107     $ref: ./paths/search_filters.yaml#/~1search_filters
108   "/search_filters/{search_filter_id}":
109     $ref: "./paths/search_filters.yaml#/~1search_filters~1{search_filter_id}"
110   "/advanced_editor/macros/shared/{advancededitormacro_id}":
111     $ref: "./paths/advancededitormacros.yaml#/~1advanced_editor~1macros~1shared~1{advancededitormacro_id}"
112   "/advanced_editor/macros/{advancededitormacro_id}":
113     $ref: "./paths/advancededitormacros.yaml#/~1advanced_editor~1macros~1{advancededitormacro_id}"
114   "/article_requests/{article_request_id}":
115     $ref: "./paths/article_requests.yaml#/~1article_requests~1{article_request_id}"
116   /auth/otp/token_delivery:
117     $ref: paths/auth.yaml#/~1auth~1otp~1token_delivery
118   /auth/two-factor/registration:
119     $ref: paths/auth.yaml#/~1auth~1two-factor~1registration
120   /auth/two-factor/registration/verification:
121     $ref: paths/auth.yaml#/~1auth~1two-factor~1registration~1verification
122   "/biblios/{biblio_id}":
123     $ref: "./paths/biblios.yaml#/~1biblios~1{biblio_id}"
124   "/biblios/{biblio_id}/checkouts":
125     $ref: "./paths/biblios.yaml#/~1biblios~1{biblio_id}~1checkouts"
126   "/biblios/{biblio_id}/items":
127     $ref: "./paths/biblios.yaml#/~1biblios~1{biblio_id}~1items"
128   "/biblios/{biblio_id}/pickup_locations":
129     $ref: "./paths/biblios.yaml#/~1biblios~1{biblio_id}~1pickup_locations"
130   "/biblios/{biblio_id}/item_groups":
131     $ref: "./paths/biblios_item_groups.yaml#/~1biblios~1{biblio_id}~1item_groups"
132   "/biblios/{biblio_id}/item_groups/{item_group_id}":
133     $ref: "./paths/biblios_item_groups.yaml#/~1biblios~1{biblio_id}~1item_groups~1{item_group_id}"
134   "/biblios/{biblio_id}/item_groups/{item_group_id}/items":
135     $ref: "./paths/biblios_item_groups.yaml#/~1biblios~1{biblio_id}~1item_groups~1{item_group_id}~1items"
136   "/biblios/{biblio_id}/item_groups/{item_group_id}/items/{item_id}":
137     $ref: "./paths/biblios_item_groups.yaml#/~1biblios~1{biblio_id}~1item_groups~1{item_group_id}~1items~1{item_id}"
138   "/cash_registers/{cash_register_id}/cashups":
139     $ref: "./paths/cash_registers.yaml#/~1cash_registers~1{cash_register_id}~1cashups"
140   "/cashups/{cashup_id}":
141     $ref: "./paths/cash_registers.yaml#/~1cashups~1{cashup_id}"
142   /checkouts:
143     $ref: ./paths/checkouts.yaml#/~1checkouts
144   "/checkouts/{checkout_id}":
145     $ref: "./paths/checkouts.yaml#/~1checkouts~1{checkout_id}"
146   "/checkouts/{checkout_id}/allows_renewal":
147     $ref: "./paths/checkouts.yaml#/~1checkouts~1{checkout_id}~1allows_renewal"
148   "/checkouts/{checkout_id}/renewals":
149     $ref: "./paths/checkouts.yaml#/~1checkouts~1{checkout_id}~1renewals"
150   "/checkouts/{checkout_id}/renewal":
151     $ref: "./paths/checkouts.yaml#/~1checkouts~1{checkout_id}~1renewal"
152   /circulation-rules/kinds:
153     $ref: ./paths/circulation-rules.yaml#/~1circulation-rules~1kinds
154   /cities:
155     $ref: ./paths/cities.yaml#/~1cities
156   "/cities/{city_id}":
157     $ref: "./paths/cities.yaml#/~1cities~1{city_id}"
158   "/clubs/{club_id}/holds":
159     $ref: "./paths/clubs.yaml#/~1clubs~1{club_id}~1holds"
160   /config/smtp_servers:
161     $ref: ./paths/config_smtp_servers.yaml#/~1config~1smtp_servers
162   "/config/smtp_servers/{smtp_server_id}":
163     $ref: "./paths/config_smtp_servers.yaml#/~1config~1smtp_servers~1{smtp_server_id}"
164   /erm/agreements:
165     $ref: ./paths/erm_agreements.yaml#/~1erm~1agreements
166   "/erm/agreements/{agreement_id}":
167     $ref: "./paths/erm_agreements.yaml#/~1erm~1agreements~1{agreement_id}"
168   /erm/licenses:
169     $ref: ./paths/erm_licenses.yaml#/~1erm~1licenses
170   "/erm/licenses/{license_id}":
171     $ref: "./paths/erm_licenses.yaml#/~1erm~1licenses~1{license_id}"
172   /erm/users:
173     $ref: ./paths/erm_users.yaml#/~1erm~1users
174   /holds:
175     $ref: ./paths/holds.yaml#/~1holds
176   "/holds/{hold_id}":
177     $ref: "./paths/holds.yaml#/~1holds~1{hold_id}"
178   "/holds/{hold_id}/pickup_location":
179     $ref: "./paths/holds.yaml#/~1holds~1{hold_id}~1pickup_location"
180   "/holds/{hold_id}/pickup_locations":
181     $ref: "./paths/holds.yaml#/~1holds~1{hold_id}~1pickup_locations"
182   "/holds/{hold_id}/priority":
183     $ref: "./paths/holds.yaml#/~1holds~1{hold_id}~1priority"
184   "/holds/{hold_id}/suspension":
185     $ref: "./paths/holds.yaml#/~1holds~1{hold_id}~1suspension"
186   /ill_backends:
187     $ref: ./paths/ill_backends.yaml#/~1ill_backends
188   "/ill_backends/{ill_backend_id}":
189     $ref: "./paths/ill_backends.yaml#/~1ill_backends~1{ill_backend_id}"
190   /illrequests:
191     $ref: ./paths/illrequests.yaml#/~1illrequests
192   "/import_batches/{import_batch_id}/records/{import_record_id}/matches/chosen":
193     $ref: "./paths/import_batches.yaml#/~1import_batches~1{import_batch_id}~1records~1{import_record_id}~1matches~1chosen"
194   /import_batch_profiles:
195     $ref: ./paths/import_batch_profiles.yaml#/~1import_batch_profiles
196   "/import_batch_profiles/{import_batch_profile_id}":
197     $ref: "./paths/import_batch_profiles.yaml#/~1import_batch_profiles~1{import_batch_profile_id}"
198   /items:
199     $ref: ./paths/items.yaml#/~1items
200   "/items/{item_id}":
201     $ref: "./paths/items.yaml#/~1items~1{item_id}"
202   "/items/{item_id}/bundled_items":
203     $ref: ./paths/items.yaml#/~1items~1{item_id}~1bundled_items
204   "/items/{item_id}/bundled_items/{bundled_item_id}":
205     $ref: ./paths/items.yaml#/~1items~1{item_id}~1bundled_items~1{bundled_item_id}
206   "/items/{item_id}/pickup_locations":
207     $ref: "./paths/items.yaml#/~1items~1{item_id}~1pickup_locations"
208   /jobs:
209     $ref: ./paths/jobs.yaml#/~1jobs
210   "/jobs/{job_id}":
211     $ref: "./paths/jobs.yaml#/~1jobs~1{job_id}"
212   /libraries:
213     $ref: ./paths/libraries.yaml#/~1libraries
214   "/libraries/{library_id}":
215     $ref: "./paths/libraries.yaml#/~1libraries~1{library_id}"
216   /oauth/token:
217     $ref: ./paths/oauth.yaml#/~1oauth~1token
218   /patrons:
219     $ref: ./paths/patrons.yaml#/~1patrons
220   "/patrons/{patron_id}":
221     $ref: "./paths/patrons.yaml#/~1patrons~1{patron_id}"
222   "/patrons/{patron_id}/account":
223     $ref: "./paths/patrons_account.yaml#/~1patrons~1{patron_id}~1account"
224   "/patrons/{patron_id}/account/credits":
225     $ref: "./paths/patrons_account.yaml#/~1patrons~1{patron_id}~1account~1credits"
226   "/patrons/{patron_id}/extended_attributes":
227     $ref: "./paths/patrons_extended_attributes.yaml#/~1patrons~1{patron_id}~1extended_attributes"
228   "/patrons/{patron_id}/extended_attributes/{extended_attribute_id}":
229     $ref: "./paths/patrons_extended_attributes.yaml#/~1patrons~1{patron_id}~1extended_attributes~1{extended_attribute_id}"
230   "/patrons/{patron_id}/holds":
231     $ref: "./paths/patrons_holds.yaml#/~1patrons~1{patron_id}~1holds"
232   "/patrons/{patron_id}/password":
233     $ref: "./paths/patrons_password.yaml#/~1patrons~1{patron_id}~1password"
234   "/patrons/{patron_id}/password/expiration_date":
235     $ref: "./paths/patrons_password.yaml#/~1patrons~1{patron_id}~1password~1expiration_date"
236   "/public/biblios/{biblio_id}":
237     $ref: "./paths/biblios.yaml#/~1public~1biblios~1{biblio_id}"
238   "/public/biblios/{biblio_id}/items":
239     $ref: "./paths/biblios.yaml#/~1public~1biblios~1{biblio_id}~1items"
240   "/public/biblios/{biblio_id}/ratings":
241     $ref: "./paths/biblios.yaml#/~1public~1biblios~1{biblio_id}~1ratings"
242   /public/libraries:
243     $ref: ./paths/libraries.yaml#/~1public~1libraries
244   "/public/libraries/{library_id}":
245     $ref: "./paths/libraries.yaml#/~1public~1libraries~1{library_id}"
246   "/public/patrons/{patron_id}/article_requests/{article_request_id}":
247     $ref: "./paths/article_requests.yaml#/~1public~1patrons~1{patron_id}~1article_requests~1{article_request_id}"
248   "/public/patrons/{patron_id}/guarantors/can_see_charges":
249     $ref: "./paths/public_patrons.yaml#/~1public~1patrons~1{patron_id}~1guarantors~1can_see_charges"
250   "/public/patrons/{patron_id}/guarantors/can_see_checkouts":
251     $ref: "./paths/public_patrons.yaml#/~1public~1patrons~1{patron_id}~1guarantors~1can_see_checkouts"
252   "/public/patrons/{patron_id}/password":
253     $ref: "./paths/public_patrons.yaml#/~1public~1patrons~1{patron_id}~1password"
254   /quotes:
255     $ref: ./paths/quotes.yaml#/~1quotes
256   "/quotes/{quote_id}":
257     $ref: "./paths/quotes.yaml#/~1quotes~1{quote_id}"
258   /return_claims:
259     $ref: ./paths/return_claims.yaml#/~1return_claims
260   "/return_claims/{claim_id}":
261     $ref: "./paths/return_claims.yaml#/~1return_claims~1{claim_id}"
262   "/return_claims/{claim_id}/notes":
263     $ref: "./paths/return_claims.yaml#/~1return_claims~1{claim_id}~1notes"
264   "/return_claims/{claim_id}/resolve":
265     $ref: "./paths/return_claims.yaml#/~1return_claims~1{claim_id}~1resolve"
266   "/rotas/{rota_id}/stages/{stage_id}/position":
267     $ref: "./paths/rotas.yaml#/~1rotas~1{rota_id}~1stages~1{stage_id}~1position"
268   /suggestions:
269     $ref: ./paths/suggestions.yaml#/~1suggestions
270   "/suggestions/{suggestion_id}":
271     $ref: "./paths/suggestions.yaml#/~1suggestions~1{suggestion_id}"
272   /suggestions/managers:
273     $ref: paths/suggestions.yaml#/~1suggestions~1managers
274   /transfer_limits:
275     $ref: ./paths/transfer_limits.yaml#/~1transfer_limits
276   /transfer_limits/batch:
277     $ref: ./paths/transfer_limits.yaml#/~1transfer_limits~1batch
278   "/transfer_limits/{limit_id}":
279     $ref: "./paths/transfer_limits.yaml#/~1transfer_limits~1{limit_id}"
280 parameters:
281   advancededitormacro_id_pp:
282     description: Advanced editor macro internal identifier
283     in: path
284     name: advancededitormacro_id
285     required: true
286     type: integer
287   agreement_id_pp:
288     description: Agreement internal identifier
289     in: path
290     name: agreement_id
291     required: true
292     type: integer
293   agreement_period_id_pp:
294     description: Agreement period internal identifier
295     in: path
296     name: agreement_period_id
297     required: true
298     type: integer
299   biblio_id_pp:
300     description: Record internal identifier
301     in: path
302     name: biblio_id
303     required: true
304     type: integer
305   candidate_match_id_pp:
306     description: Internal import record match identifier
307     in: path
308     name: candidate_match_id
309     required: true
310     type: integer
311   cash_register_id_pp:
312     description: Cash register internal identifier
313     in: path
314     name: cash_register_id
315     required: true
316     type: integer
317   cashup_id_pp:
318     description: Cashup internal identifier
319     in: path
320     name: cashup_id
321     required: true
322     type: integer
323   checkout_id_pp:
324     description: Internal checkout identifier
325     in: path
326     name: checkout_id
327     required: true
328     type: integer
329   city_id_pp:
330     description: City internal identifier
331     in: path
332     name: city_id
333     required: true
334     type: integer
335   club_id_pp:
336     description: Internal club identifier
337     in: path
338     name: club_id
339     required: true
340     type: integer
341   fund_id_pp:
342     description: Fund id
343     in: path
344     name: fund_id
345     required: true
346     type: integer
347   hold_id_pp:
348     description: Internal hold identifier
349     in: path
350     name: hold_id
351     required: true
352     type: integer
353   import_batch_profile_id_pp:
354     description: Internal profile identifier
355     in: path
356     name: import_batch_profile_id
357     required: true
358     type: integer
359   import_record_id_pp:
360     description: Internal import record identifier
361     in: path
362     name: import_record_id
363     required: true
364     type: integer
365   item_id_pp:
366     description: Internal item identifier
367     in: path
368     name: item_id
369     required: true
370     type: integer
371   job_id_pp:
372     description: Job internal identifier
373     in: path
374     name: job_id
375     required: true
376     type: integer
377   library_id_pp:
378     description: Internal library identifier
379     in: path
380     name: library_id
381     required: true
382     type: string
383   license_id_pp:
384     description: License internal identifier
385     in: path
386     name: license_id
387     required: true
388     type: integer
389   match:
390     description: Matching criteria
391     enum:
392       - contains
393       - exact
394       - starts_with
395       - ends_with
396     in: query
397     name: _match
398     required: false
399     type: string
400   order_by:
401     collectionFormat: csv
402     description: Sorting criteria
403     in: query
404     items:
405       type: string
406     name: _order_by
407     required: false
408     type: array
409   order_id_pp:
410     description: Internal order identifier
411     in: path
412     name: order_id
413     required: true
414     type: integer
415   page:
416     description: "Page number, for paginated object listing"
417     in: query
418     name: _page
419     required: false
420     type: integer
421   patron_id_pp:
422     description: Internal patron identifier
423     in: path
424     name: patron_id
425     required: true
426     type: integer
427   patron_id_qp:
428     description: Internal patron identifier
429     in: query
430     name: patron_id
431     type: integer
432   per_page:
433     description: "Page size, for paginated object listing"
434     in: query
435     name: _per_page
436     required: false
437     type: integer
438   q_body:
439     description: Query filter sent through request"s body
440     in: body
441     name: query
442     required: false
443     schema:
444       type: object
445   q_header:
446     description: Query filter sent as a request header
447     in: header
448     name: x-koha-query
449     required: false
450     type: string
451   q_param:
452     description: Query filter sent as a request parameter
453     in: query
454     name: q
455     required: false
456     type: array
457     items:
458       type: string
459     collectionFormat: multi
460   quote_id_pp:
461     description: Quote internal identifier
462     in: path
463     name: quote_id
464     required: true
465     type: integer
466   request_id_header:
467     description: Request id header
468     in: header
469     name: x-koha-request-id
470     required: false
471     type: integer
472   search_filter_id_pp:
473     name: search_filter_id
474     in: path
475     description: Search filter internal identifier
476     required: true
477     type: integer
478   seen_pp:
479     description: Item was seen flag
480     in: query
481     name: seen
482     required: false
483     type: integer
484   smtp_server_id_pp:
485     description: SMTP server internal identifier
486     in: path
487     name: smtp_server_id
488     required: true
489     type: integer
490   suggestion_id_pp:
491     description: Internal suggestion identifier
492     in: path
493     name: suggestion_id
494     required: true
495     type: integer
496   transfer_limit_id_pp:
497     description: Internal transfer limit identifier
498     in: path
499     name: limit_id
500     required: true
501     type: string
502   vendor_id_pp:
503     description: Vendor id
504     in: path
505     name: vendor_id
506     required: true
507     type: integer
508 info:
509   title: Koha REST API
510   version: "1"
511   license:
512     name: "GPL v3,"
513     url: http://www.gnu.org/licenses/gpl.txt
514   contact:
515     name: Koha Development Team
516     url: https://koha-community.org/
517   description: |
518     ## Introduction
519
520     This API is documented in **OpenAPI format**.
521
522     ## Authentication
523
524     The API supports the following authentication mechanisms
525
526     * HTTP Basic authentication
527     * OAuth2 (client credentials grant)
528     * Cookie-based
529
530     Both _Basic authentication_ and the _OAuth2_ flow, need to be enabled
531     by system preferences.
532
533     ## Errors
534
535     The API uses standard HTTP status codes to indicate the success or failure
536     of the API call. The body of the response will be JSON in the following format:
537
538     ```
539     {
540       "error": "Current settings prevent the passed due date to be applied",
541       "error_code": "invalid_due_date"
542     }
543     ```
544
545     Note: Some routes might offer additional attributes in their error responses but that"s
546     subject to change and thus not documented.
547
548     ## Filtering responses
549
550     The API allows for some advanced response filtering using a JSON based query syntax. The
551     query can be added to the requests:
552
553     * as a query parameter `q=`
554     * in the request body
555     * in a special header `x-koha-query`
556
557     For simple field equality matches we can use `{ "fieldname": "value" }` where the fieldname
558     matches one of the fields as described in the particular endpoints response object.
559
560     We can refine that with more complex matching clauses by nesting a the clause into the
561     object; `{ "fieldname": { "clause": "value" } }`.
562
563     Available matching clauses include ">", "<", ">=", "<=", "-like", and "-not_like".
564
565     We can filter on multiple fields by adding them to the JSON respresentation. Adding at `HASH`
566     level will result in an "AND" query, whilst combinding them in an `ARRAY` wilth result in an
567     "OR" query: `{ "field1": "value2", "field2": "value2" }` will filter the response to only those
568     results with both field1 containing value2 AND field2 containing value2 for example.
569
570     Additionally, if you are requesting related data be embedded into the response one can query
571     on the related data using dot notation in the field names.
572
573     ### Examples
574
575     The following request would return any patron with firstname "Henry" and lastname "Acevedo";
576
577     `curl -u koha:koha --request GET "http://127.0.0.1:8081/api/v1/patrons/" --data-raw "{ "surname": "Acevedo", "firstname": "Henry" }"`
578
579     The following request would return any patron whose lastname begins with "Ace";
580
581     `curl -u koha:koha --request GET "http://127.0.0.1:8081/api/v1/patrons/" --data-raw "{ "surname": { "-like": "Ace%" }"`
582
583     The following request would return any patron whose lastname is "Acevedo" OR "Bernardo"
584
585     `curl -u koha:koha --request GET "http://127.0.0.1:8081/api/v1/patrons/" --data-raw "{ "surname": [ "Acevedo", "Bernardo" ] }"`
586
587     The following request embeds the related patron extended attributes data and filters on it.
588
589     `curl -u koha:koha =--request GET 'http://127.0.0.1:8081/api/v1/patrons/' --header 'x-koha-embed: extended_attributes' --data-raw '{ "extended_attributes.code": "internet", "extended_attributes.attribute": "1" }'`
590
591     ## Special headers
592
593     ### x-koha-embed
594
595     This optional header allows the api consumer to request additional related data
596     to be returned in the api response.  It also allows for cross referencing in the
597     queries as described above. It accepts a comma delimited list of relation names.
598
599     Relations may on occasion also support dot delimited nesting to allow traversal.
600
601     ### x-koha-library
602
603     This optional header should be passed to give your api request a library
604     context; If it is not included in the request, then the request context
605     will default to using your api comsumer"s assigned home library.
606 tags:
607   - description: "Handle two factor authentication flows\n"
608     name: 2fa
609     x-displayName: Two factor authentication
610   - description: "Manage article requests\n"
611     name: article_requests
612     x-displayName: Article requests
613   - description: "Manage baskets for the acquisitions module\n"
614     name: baskets
615     x-displayName: Baskets
616   - description: "Manage bibliographic records\n"
617     name: biblios
618     x-displayName: Biblios
619   - description: "Manage cash register cashups\n"
620     name: cashups
621     x-displayName: Cashups
622   - description: "Manage checkouts\n"
623     name: checkouts
624     x-displayName: Checkouts
625   - description: "Manage circulation rules\n"
626     name: circulation_rules
627     x-displayName: Circulation rules
628   - description: "Manage cities\n"
629     name: cities
630     x-displayName: Cities
631   - description: "Manage patron clubs\n"
632     name: clubs
633     x-displayName: Clubs
634   - description: "Manage funds for the acquisitions module\n"
635     name: funds
636     x-displayName: Funds
637   - description: "Manage holds\n"
638     name: holds
639     x-displayName: Holds
640   - description: "Manage ILL module backends\n"
641     name: illbackends
642     x-displayName: ILL backends
643   - description: "Manage ILL requests\n"
644     name: illrequests
645     x-displayName: ILL requests
646   - description: "Manage import batches\n"
647     name: import_batches
648     x-display-name: Import batches
649   - description: "Manage item groups\n"
650     name: item_groups
651     x-displayName: Item groups
652   - description: "Manage items\n"
653     name: items
654     x-displayName: Items
655   - description: "Manage jobs\n"
656     name: jobs
657     x-displayName: Jobs
658   - description: "Manage libraries\n"
659     name: libraries
660     x-displayName: Libraries
661   - description: "Manage macros\n"
662     name: macros
663     x-displayName: Macros
664   - description: "Manage acquisition orders\n"
665     name: orders
666     x-displayName: Orders
667   - description: "Handle OAuth flows\n"
668     name: oauth
669     x-displayName: OAuth
670   - description: "Manage patrons\n"
671     name: patrons
672     x-displayName: Patrons
673   - description: "Manage quotes\n"
674     name: quotes
675     x-displayName: Quotes
676   - description: "Manage return claims\n"
677     name: return_claims
678     x-displayName: Return claims
679   - description: "Manage rotas\n"
680     name: rotas
681     x-displayName: Rotas
682   - description: "Manage SMTP servers configurations\n"
683     name: smtp_servers
684     x-displayName: SMTP servers
685   - description: "Manage transfer limits\n"
686     name: transfer
687     x-displayName: Transfer limits
688   - description: "Manage purchase suggestions\n"
689     name: suggestions
690     x-displayName: Purchase suggestions
691   - description: "Manage vendors for the acquisitions module\n"
692     name: vendors
693     x-displayName: Vendors
694   - description: "Manage batch import profiles\n"
695     name: batch_import_profiles
696     x-displayName: Batch import profiles