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