View | Details | Raw Unified | Return to bug 30194
Collapse All | Expand All

(-)a/Koha/REST/V1.pm (-1 / +1 lines)
Lines 69-75 sub startup { Link Here
69
        $self->secrets([$secret_passphrase]);
69
        $self->secrets([$secret_passphrase]);
70
    }
70
    }
71
71
72
    my $spec_file = $self->home->rel_file("api/v1/swagger/swagger.json");
72
    my $spec_file = $self->home->rel_file("api/v1/swagger/swagger_bundle.yaml");
73
73
74
    push @{$self->routes->namespaces}, 'Koha::Plugin';
74
    push @{$self->routes->namespaces}, 'Koha::Plugin';
75
75
(-)a/api/v1/swagger/swagger_bundle.yaml (+8899 lines)
Line 0 Link Here
1
swagger: '2.0'
2
basePath: /api/v1
3
paths:
4
  /oauth/token:
5
    post:
6
      x-mojo-to: OAuth#token
7
      operationId: tokenOAuth
8
      tags:
9
        - oauth
10
      summary: Get access token
11
      produces:
12
        - application/json
13
      parameters:
14
        - name: grant_type
15
          in: formData
16
          description: grant type (client_credentials)
17
          required: true
18
          type: string
19
        - name: client_id
20
          in: formData
21
          description: client id
22
          type: string
23
        - name: client_secret
24
          in: formData
25
          description: client secret
26
          type: string
27
      responses:
28
        '200':
29
          description: OK
30
          schema:
31
            type: object
32
            properties:
33
              access_token:
34
                type: string
35
              token_type:
36
                type: string
37
              expires_in:
38
                type: integer
39
            additionalProperties: false
40
        '400':
41
          description: Bad Request
42
          schema:
43
            $ref: '#/definitions/error'
44
        '403':
45
          description: Access forbidden
46
          schema:
47
            $ref: '#/definitions/error'
48
  /acquisitions/orders:
49
    get:
50
      x-mojo-to: 'Acquisitions::Orders#list'
51
      operationId: listOrders
52
      tags:
53
        - orders
54
      summary: List orders
55
      produces:
56
        - application/json
57
      parameters:
58
        - name: biblio_id
59
          in: query
60
          description: Identifier for a linked bibliographic record
61
          required: false
62
          type: integer
63
        - name: basket_id
64
          in: query
65
          description: Identifier for a linked acquisition basket
66
          required: false
67
          type: integer
68
        - name: fund_id
69
          in: query
70
          description: Identifier for the fund the order goes against
71
          required: false
72
          type: integer
73
        - name: status
74
          in: query
75
          description: 'Current status for the order. Can be ''new'', ''ordered'', ''partial'', ''complete'' or ''cancelled'''
76
          required: false
77
          type: string
78
        - name: only_active
79
          in: query
80
          description: If only active orders should be listed
81
          required: false
82
          type: boolean
83
        - $ref: '#/parameters/match'
84
        - $ref: '#/parameters/order_by'
85
        - $ref: '#/parameters/page'
86
        - $ref: '#/parameters/per_page'
87
        - $ref: '#/parameters/q_param'
88
        - $ref: '#/parameters/q_body'
89
        - $ref: '#/parameters/q_header'
90
      responses:
91
        '200':
92
          description: A list of orders
93
          schema:
94
            type: array
95
            items:
96
              $ref: '#/definitions/order'
97
        '401':
98
          description: Authentication required
99
          schema:
100
            $ref: '#/definitions/error'
101
        '403':
102
          description: Access forbidden
103
          schema:
104
            $ref: '#/definitions/error'
105
        '404':
106
          description: Order not found
107
          schema:
108
            $ref: '#/definitions/error'
109
        '500':
110
          description: |
111
            Internal server error. Possible `error_code` attribute values:
112
113
            * `internal_server_error`
114
          schema:
115
            $ref: '#/definitions/error'
116
        '503':
117
          description: Under maintenance
118
          schema:
119
            $ref: '#/definitions/error'
120
      x-koha-authorization:
121
        permissions:
122
          acquisition:
123
            - order_manage
124
            - order_manage_all
125
      x-koha-embed:
126
        - basket
127
        - basket.basket_group
128
        - basket.creator
129
        - biblio
130
        - biblio.active_orders+count
131
        - biblio.holds+count
132
        - biblio.items+count
133
        - biblio.suggestions.suggester
134
        - fund
135
        - current_item_level_holds+count
136
        - invoice
137
        - items
138
        - subscription
139
    post:
140
      x-mojo-to: 'Acquisitions::Orders#add'
141
      operationId: addOrder
142
      tags:
143
        - orders
144
      summary: Add order
145
      parameters:
146
        - name: body
147
          in: body
148
          description: A JSON object representing an order
149
          required: true
150
          schema:
151
            $ref: '#/definitions/order'
152
      produces:
153
        - application/json
154
      responses:
155
        '201':
156
          description: Order added
157
          schema:
158
            $ref: '#/definitions/order'
159
        '400':
160
          description: Bad request
161
          schema:
162
            $ref: '#/definitions/error'
163
        '401':
164
          description: Authentication required
165
          schema:
166
            $ref: '#/definitions/error'
167
        '403':
168
          description: Access forbidden
169
          schema:
170
            $ref: '#/definitions/error'
171
        '409':
172
          description: Conflict in creating the resource
173
          schema:
174
            $ref: '#/definitions/error'
175
        '500':
176
          description: |
177
            Internal server error. Possible `error_code` attribute values:
178
179
            * `internal_server_error`
180
          schema:
181
            $ref: '#/definitions/error'
182
        '503':
183
          description: Under maintenance
184
          schema:
185
            $ref: '#/definitions/error'
186
      x-koha-authorization:
187
        permissions:
188
          acquisition: order_manage
189
  '/acquisitions/orders/{order_id}':
190
    get:
191
      x-mojo-to: 'Acquisitions::Orders#get'
192
      operationId: getOrder
193
      tags:
194
        - orders
195
      summary: Get order
196
      parameters:
197
        - $ref: '#/parameters/order_id_pp'
198
      produces:
199
        - application/json
200
      responses:
201
        '200':
202
          description: An order
203
          schema:
204
            $ref: '#/definitions/order'
205
        '401':
206
          description: Authentication required
207
          schema:
208
            $ref: '#/definitions/error'
209
        '403':
210
          description: Access forbidden
211
          schema:
212
            $ref: '#/definitions/error'
213
        '404':
214
          description: Order not found
215
          schema:
216
            $ref: '#/definitions/error'
217
        '500':
218
          description: |
219
            Internal server error. Possible `error_code` attribute values:
220
221
            * `internal_server_error`
222
          schema:
223
            $ref: '#/definitions/error'
224
        '503':
225
          description: Under maintenance
226
          schema:
227
            $ref: '#/definitions/error'
228
      x-koha-authorization:
229
        permissions:
230
          acquisition: order_manage
231
      x-koha-embed:
232
        - basket
233
        - basket.basket_group
234
        - basket.creator
235
        - biblio
236
        - biblio.active_orders+count
237
        - biblio.holds+count
238
        - biblio.items+count
239
        - biblio.suggestions.suggester
240
        - fund
241
        - current_item_level_holds+count
242
        - invoice
243
        - items
244
        - subscription
245
    put:
246
      x-mojo-to: 'Acquisitions::Orders#update'
247
      operationId: updateOrder
248
      tags:
249
        - orders
250
      summary: Update order
251
      parameters:
252
        - $ref: '#/parameters/order_id_pp'
253
        - name: body
254
          in: body
255
          description: A JSON object representing an order
256
          required: true
257
          schema:
258
            $ref: '#/definitions/order'
259
      produces:
260
        - application/json
261
      responses:
262
        '200':
263
          description: An order
264
          schema:
265
            $ref: '#/definitions/order'
266
        '401':
267
          description: Authentication required
268
          schema:
269
            $ref: '#/definitions/error'
270
        '403':
271
          description: Access forbidden
272
          schema:
273
            $ref: '#/definitions/error'
274
        '404':
275
          description: Order not found
276
          schema:
277
            $ref: '#/definitions/error'
278
        '500':
279
          description: |
280
            Internal server error. Possible `error_code` attribute values:
281
282
            * `internal_server_error`
283
          schema:
284
            $ref: '#/definitions/error'
285
        '503':
286
          description: Under maintenance
287
          schema:
288
            $ref: '#/definitions/error'
289
      x-koha-authorization:
290
        permissions:
291
          acquisition: order_manage
292
    delete:
293
      x-mojo-to: 'Acquisitions::Orders#delete'
294
      operationId: deleteOrder
295
      tags:
296
        - orders
297
      summary: Delete order
298
      parameters:
299
        - $ref: '#/parameters/order_id_pp'
300
      produces:
301
        - application/json
302
      responses:
303
        '204':
304
          description: Order deleted
305
        '401':
306
          description: Authentication required
307
          schema:
308
            $ref: '#/definitions/error'
309
        '403':
310
          description: Access forbidden
311
          schema:
312
            $ref: '#/definitions/error'
313
        '404':
314
          description: Order not found
315
          schema:
316
            $ref: '#/definitions/error'
317
        '500':
318
          description: |
319
            Internal server error. Possible `error_code` attribute values:
320
321
            * `internal_server_error`
322
          schema:
323
            $ref: '#/definitions/error'
324
        '503':
325
          description: Under maintenance
326
          schema:
327
            $ref: '#/definitions/error'
328
      x-koha-authorization:
329
        permissions:
330
          acquisition: order_manage
331
  /acquisitions/vendors:
332
    get:
333
      x-mojo-to: 'Acquisitions::Vendors#list'
334
      operationId: listVendors
335
      tags:
336
        - vendors
337
      summary: List vendors
338
      produces:
339
        - application/json
340
      parameters:
341
        - name: name
342
          in: query
343
          description: Case insensitive search on vendor name
344
          required: false
345
          type: string
346
        - name: accountnumber
347
          in: query
348
          description: Case insensitive search on vendor's account number
349
          required: false
350
          type: string
351
        - $ref: '#/parameters/match'
352
        - $ref: '#/parameters/order_by'
353
        - $ref: '#/parameters/page'
354
        - $ref: '#/parameters/per_page'
355
        - $ref: '#/parameters/q_param'
356
        - $ref: '#/parameters/q_body'
357
        - $ref: '#/parameters/q_header'
358
      responses:
359
        '200':
360
          description: A list of vendors
361
          schema:
362
            type: array
363
            items:
364
              $ref: '#/definitions/vendor'
365
        '401':
366
          description: Authentication required
367
          schema:
368
            $ref: '#/definitions/error'
369
        '403':
370
          description: Access forbidden
371
          schema:
372
            $ref: '#/definitions/error'
373
        '404':
374
          description: Vendor not found
375
          schema:
376
            $ref: '#/definitions/error'
377
        '500':
378
          description: |
379
            Internal server error. Possible `error_code` attribute values:
380
381
            * `internal_server_error`
382
          schema:
383
            $ref: '#/definitions/error'
384
        '503':
385
          description: Under maintenance
386
          schema:
387
            $ref: '#/definitions/error'
388
      x-koha-authorization:
389
        permissions:
390
          acquisition: vendors_manage
391
    post:
392
      x-mojo-to: 'Acquisitions::Vendors#add'
393
      operationId: addVendor
394
      tags:
395
        - vendors
396
      summary: Add vendor
397
      parameters:
398
        - name: body
399
          in: body
400
          description: A JSON object representing a vendor
401
          required: true
402
          schema:
403
            $ref: '#/definitions/vendor'
404
      produces:
405
        - application/json
406
      responses:
407
        '201':
408
          description: Vendor added
409
          schema:
410
            $ref: '#/definitions/vendor'
411
        '401':
412
          description: Authentication required
413
          schema:
414
            $ref: '#/definitions/error'
415
        '403':
416
          description: Access forbidden
417
          schema:
418
            $ref: '#/definitions/error'
419
        '404':
420
          description: Vendor not found
421
          schema:
422
            $ref: '#/definitions/error'
423
        '500':
424
          description: |
425
            Internal server error. Possible `error_code` attribute values:
426
427
            * `internal_server_error`
428
          schema:
429
            $ref: '#/definitions/error'
430
        '503':
431
          description: Under maintenance
432
          schema:
433
            $ref: '#/definitions/error'
434
      x-koha-authorization:
435
        permissions:
436
          acquisition: vendors_manage
437
  '/acquisitions/vendors/{vendor_id}':
438
    get:
439
      x-mojo-to: 'Acquisitions::Vendors#get'
440
      operationId: getVendor
441
      tags:
442
        - vendors
443
      summary: Get vendor
444
      parameters:
445
        - $ref: '#/parameters/vendor_id_pp'
446
      produces:
447
        - application/json
448
      responses:
449
        '200':
450
          description: A vendor
451
          schema:
452
            $ref: '#/definitions/vendor'
453
        '401':
454
          description: Authentication required
455
          schema:
456
            $ref: '#/definitions/error'
457
        '403':
458
          description: Access forbidden
459
          schema:
460
            $ref: '#/definitions/error'
461
        '404':
462
          description: Vendor not found
463
          schema:
464
            $ref: '#/definitions/error'
465
        '500':
466
          description: |
467
            Internal server error. Possible `error_code` attribute values:
468
469
            * `internal_server_error`
470
          schema:
471
            $ref: '#/definitions/error'
472
        '503':
473
          description: Under maintenance
474
          schema:
475
            $ref: '#/definitions/error'
476
      x-koha-authorization:
477
        permissions:
478
          acquisition: vendors_manage
479
    put:
480
      x-mojo-to: 'Acquisitions::Vendors#update'
481
      operationId: updateVendor
482
      tags:
483
        - vendors
484
      summary: Update vendor
485
      parameters:
486
        - $ref: '#/parameters/vendor_id_pp'
487
        - name: body
488
          in: body
489
          description: A JSON object representing a vendor
490
          required: true
491
          schema:
492
            $ref: '#/definitions/vendor'
493
      produces:
494
        - application/json
495
      responses:
496
        '200':
497
          description: A vendor
498
          schema:
499
            $ref: '#/definitions/vendor'
500
        '401':
501
          description: Authentication required
502
          schema:
503
            $ref: '#/definitions/error'
504
        '403':
505
          description: Access forbidden
506
          schema:
507
            $ref: '#/definitions/error'
508
        '404':
509
          description: Vendor not found
510
          schema:
511
            $ref: '#/definitions/error'
512
        '500':
513
          description: |
514
            Internal server error. Possible `error_code` attribute values:
515
516
            * `internal_server_error`
517
          schema:
518
            $ref: '#/definitions/error'
519
        '503':
520
          description: Under maintenance
521
          schema:
522
            $ref: '#/definitions/error'
523
      x-koha-authorization:
524
        permissions:
525
          acquisition: vendors_manage
526
    delete:
527
      x-mojo-to: 'Acquisitions::Vendors#delete'
528
      operationId: deleteVendor
529
      tags:
530
        - vendors
531
      summary: Delete vendor
532
      parameters:
533
        - $ref: '#/parameters/vendor_id_pp'
534
      produces:
535
        - application/json
536
      responses:
537
        '204':
538
          description: Vendor deleted
539
        '401':
540
          description: Authentication required
541
          schema:
542
            $ref: '#/definitions/error'
543
        '403':
544
          description: Access forbidden
545
          schema:
546
            $ref: '#/definitions/error'
547
        '404':
548
          description: Vendor not found
549
          schema:
550
            $ref: '#/definitions/error'
551
        '500':
552
          description: |
553
            Internal server error. Possible `error_code` attribute values:
554
555
            * `internal_server_error`
556
          schema:
557
            $ref: '#/definitions/error'
558
        '503':
559
          description: Under maintenance
560
          schema:
561
            $ref: '#/definitions/error'
562
      x-koha-authorization:
563
        permissions:
564
          acquisition: vendors_manage
565
  /acquisitions/funds:
566
    get:
567
      x-mojo-to: 'Acquisitions::Funds#list'
568
      operationId: listFunds
569
      tags:
570
        - funds
571
      summary: List funds
572
      produces:
573
        - application/json
574
      parameters:
575
        - name: name
576
          in: query
577
          description: Case insensitive search on fund name
578
          required: false
579
          type: string
580
        - name: fund_owner_id
581
          in: query
582
          description: Display only the funds that belongs to the given patron ID
583
          required: false
584
          type: integer
585
        - $ref: '#/parameters/match'
586
        - $ref: '#/parameters/order_by'
587
        - $ref: '#/parameters/page'
588
        - $ref: '#/parameters/per_page'
589
        - $ref: '#/parameters/q_param'
590
        - $ref: '#/parameters/q_body'
591
        - $ref: '#/parameters/q_header'
592
      responses:
593
        '200':
594
          description: A list of funds
595
          schema:
596
            type: array
597
            items:
598
              $ref: '#/definitions/fund'
599
        '401':
600
          description: Authentication required
601
          schema:
602
            $ref: '#/definitions/error'
603
        '403':
604
          description: Access forbidden
605
          schema:
606
            $ref: '#/definitions/error'
607
        '404':
608
          description: Fund not found
609
          schema:
610
            $ref: '#/definitions/error'
611
        '500':
612
          description: |
613
            Internal server error. Possible `error_code` attribute values:
614
615
            * `internal_server_error`
616
          schema:
617
            $ref: '#/definitions/error'
618
        '503':
619
          description: Under maintenance
620
          schema:
621
            $ref: '#/definitions/error'
622
      x-koha-authorization:
623
        permissions:
624
          acquisition: budget_manage_all
625
  '/article_requests/{article_request_id}':
626
    delete:
627
      x-mojo-to: ArticleRequests#cancel
628
      operationId: cancelArticleRequest
629
      tags:
630
        - article_requests
631
      summary: Cancel article requests
632
      parameters:
633
        - name: article_request_id
634
          in: path
635
          description: Article request identifier
636
          required: true
637
          type: integer
638
        - name: cancellation_reason
639
          in: query
640
          description: Article request cancellation reason
641
          required: false
642
          type: string
643
        - name: notes
644
          in: query
645
          description: Article request custom cancellation reason
646
          required: false
647
          type: string
648
      produces:
649
        - application/json
650
      responses:
651
        '204':
652
          description: Article request canceled
653
        '400':
654
          description: Bad request
655
          schema:
656
            $ref: '#/definitions/error'
657
        '401':
658
          description: Authentication required
659
          schema:
660
            $ref: '#/definitions/error'
661
        '403':
662
          description: Access forbidden
663
          schema:
664
            $ref: '#/definitions/error'
665
        '404':
666
          description: Patron not found
667
          schema:
668
            $ref: '#/definitions/error'
669
        '500':
670
          description: |
671
            Internal server error. Possible `error_code` attribute values:
672
673
            * `internal_server_error`
674
          schema:
675
            $ref: '#/definitions/error'
676
        '503':
677
          description: Under maintenance
678
          schema:
679
            $ref: '#/definitions/error'
680
      x-koha-authorization:
681
        permissions:
682
          circulate: circulate_remaining_permissions
683
  '/biblios/{biblio_id}':
684
    get:
685
      x-mojo-to: Biblios#get
686
      operationId: getBiblio
687
      tags:
688
        - biblios
689
      summary: Get biblio
690
      parameters:
691
        - $ref: '#/parameters/biblio_id_pp'
692
      produces:
693
        - application/json
694
        - application/marcxml+xml
695
        - application/marc-in-json
696
        - application/marc
697
        - text/plain
698
      responses:
699
        '200':
700
          description: A biblio
701
        '401':
702
          description: Authentication required
703
          schema:
704
            $ref: '#/definitions/error'
705
        '403':
706
          description: Access forbidden
707
          schema:
708
            $ref: '#/definitions/error'
709
        '404':
710
          description: Biblio not found
711
          schema:
712
            $ref: '#/definitions/error'
713
        '406':
714
          description: Not acceptable
715
          schema:
716
            type: array
717
            description: Accepted content-types
718
            items:
719
              type: string
720
        '500':
721
          description: |
722
            Internal server error. Possible `error_code` attribute values:
723
724
            * `internal_server_error`
725
          schema:
726
            $ref: '#/definitions/error'
727
        '503':
728
          description: Under maintenance
729
          schema:
730
            $ref: '#/definitions/error'
731
      x-koha-authorization:
732
        permissions:
733
          catalogue: '1'
734
    delete:
735
      x-mojo-to: Biblios#delete
736
      operationId: deleteBiblio
737
      tags:
738
        - biblios
739
      summary: Delete biblio
740
      parameters:
741
        - $ref: '#/parameters/biblio_id_pp'
742
      produces:
743
        - application/json
744
      responses:
745
        '204':
746
          description: Biblio deleted
747
          schema:
748
            type: string
749
        '401':
750
          description: Authentication required
751
          schema:
752
            $ref: '#/definitions/error'
753
        '403':
754
          description: Access forbidden
755
          schema:
756
            $ref: '#/definitions/error'
757
        '404':
758
          description: Biblio not found
759
          schema:
760
            $ref: '#/definitions/error'
761
        '409':
762
          description: Unable to perform action on biblio
763
          schema:
764
            $ref: '#/definitions/error'
765
        '500':
766
          description: Internal error
767
          schema:
768
            $ref: '#/definitions/error'
769
        '503':
770
          description: Under maintenance
771
          schema:
772
            $ref: '#/definitions/error'
773
      x-koha-authorization:
774
        permissions:
775
          editcatalogue: edit_catalogue
776
  '/biblios/{biblio_id}/checkouts':
777
    get:
778
      x-mojo-to: Biblios#get_checkouts
779
      operationId: listBiblioCheckouts
780
      tags:
781
        - checkouts
782
      summary: List checkouts for a biblio
783
      parameters:
784
        - $ref: '#/parameters/biblio_id_pp'
785
        - $ref: '#/parameters/page'
786
        - $ref: '#/parameters/per_page'
787
        - $ref: '#/parameters/match'
788
        - $ref: '#/parameters/order_by'
789
        - $ref: '#/parameters/q_param'
790
        - $ref: '#/parameters/q_body'
791
        - $ref: '#/parameters/q_header'
792
        - name: checked_in
793
          in: query
794
          description: 'By default, current checkouts are returned, when this is true then checked in checkouts are returned as result.'
795
          type: boolean
796
      produces:
797
        - application/json
798
      responses:
799
        '200':
800
          description: A list of checkouts
801
          schema:
802
            $ref: '#/definitions/checkouts'
803
        '403':
804
          description: Access forbidden
805
          schema:
806
            $ref: '#/definitions/error'
807
        '404':
808
          description: Biblio not found
809
          schema:
810
            $ref: '#/definitions/error'
811
        '500':
812
          description: |
813
            Internal server error. Possible `error_code` attribute values:
814
815
            * `internal_server_error`
816
          schema:
817
            $ref: '#/definitions/error'
818
        '503':
819
          description: Under maintenance
820
          schema:
821
            $ref: '#/definitions/error'
822
      x-koha-authorization:
823
        permissions:
824
          circulate: circulate_remaining_permissions
825
      x-koha-embed:
826
        - issuer
827
        - item
828
        - patron
829
        - library
830
  '/biblios/{biblio_id}/items':
831
    get:
832
      x-mojo-to: Biblios#get_items
833
      operationId: getBiblioItems
834
      tags:
835
        - biblios
836
      summary: Get items for a biblio
837
      parameters:
838
        - $ref: '#/parameters/biblio_id_pp'
839
        - $ref: '#/parameters/match'
840
        - $ref: '#/parameters/order_by'
841
        - $ref: '#/parameters/page'
842
        - $ref: '#/parameters/per_page'
843
        - $ref: '#/parameters/q_param'
844
        - $ref: '#/parameters/q_body'
845
        - $ref: '#/parameters/q_header'
846
      consumes:
847
        - application/json
848
      produces:
849
        - application/json
850
      responses:
851
        '200':
852
          description: A list of the items attached to the record
853
          schema:
854
            type: array
855
            items:
856
              $ref: '#/definitions/item'
857
        '401':
858
          description: Authentication required
859
          schema:
860
            $ref: '#/definitions/error'
861
        '403':
862
          description: Access forbidden
863
          schema:
864
            $ref: '#/definitions/error'
865
        '404':
866
          description: Biblio not found
867
          schema:
868
            $ref: '#/definitions/error'
869
        '406':
870
          description: Not acceptable
871
          schema:
872
            type: array
873
            description: Accepted content-types
874
            items:
875
              type: string
876
        '500':
877
          description: |
878
            Internal server error. Possible `error_code` attribute values:
879
880
            * `internal_server_error`
881
          schema:
882
            $ref: '#/definitions/error'
883
        '503':
884
          description: Under maintenance
885
          schema:
886
            $ref: '#/definitions/error'
887
      x-koha-authorization:
888
        permissions:
889
          catalogue: '1'
890
  '/biblios/{biblio_id}/pickup_locations':
891
    get:
892
      x-mojo-to: Biblios#pickup_locations
893
      operationId: getBiblioPickupLocations
894
      tags:
895
        - biblios
896
      summary: Get valid pickup locations for a biblio
897
      parameters:
898
        - $ref: '#/parameters/biblio_id_pp'
899
        - name: patron_id
900
          in: query
901
          description: Internal patron identifier
902
          required: true
903
          type: integer
904
        - $ref: '#/parameters/match'
905
        - $ref: '#/parameters/order_by'
906
        - $ref: '#/parameters/page'
907
        - $ref: '#/parameters/per_page'
908
        - $ref: '#/parameters/q_param'
909
        - $ref: '#/parameters/q_body'
910
        - $ref: '#/parameters/q_header'
911
      consumes:
912
        - application/json
913
      produces:
914
        - application/json
915
      responses:
916
        '200':
917
          description: Biblio pickup locations
918
          schema:
919
            type: array
920
            items:
921
              $ref: '#/definitions/library'
922
        '400':
923
          description: Missing or wrong parameters
924
          schema:
925
            $ref: '#/definitions/error'
926
        '401':
927
          description: Authentication required
928
          schema:
929
            $ref: '#/definitions/error'
930
        '403':
931
          description: Access forbidden
932
          schema:
933
            $ref: '#/definitions/error'
934
        '404':
935
          description: Biblio not found
936
          schema:
937
            $ref: '#/definitions/error'
938
        '500':
939
          description: |
940
            Internal server error. Possible `error_code` attribute values:
941
942
            * `internal_server_error`
943
          schema:
944
            $ref: '#/definitions/error'
945
        '503':
946
          description: Under maintenance
947
          schema:
948
            $ref: '#/definitions/error'
949
      x-koha-authorization:
950
        permissions:
951
          reserveforothers: place_holds
952
  '/cash_registers/{cash_register_id}/cashups':
953
    get:
954
      x-mojo-to: 'CashRegisters::Cashups#list'
955
      operationId: listCashups
956
      tags:
957
        - cashups
958
      summary: List cashups for the cash register
959
      produces:
960
        - application/json
961
      parameters:
962
        - $ref: '#/parameters/cash_register_id_pp'
963
        - $ref: '#/parameters/match'
964
        - $ref: '#/parameters/order_by'
965
        - $ref: '#/parameters/page'
966
        - $ref: '#/parameters/per_page'
967
        - $ref: '#/parameters/q_param'
968
        - $ref: '#/parameters/q_body'
969
        - $ref: '#/parameters/q_header'
970
      responses:
971
        '200':
972
          description: Cashups performed on this register
973
          schema:
974
            type: array
975
            items:
976
              $ref: '#/definitions/cashup'
977
        '403':
978
          description: Access forbidden
979
          schema:
980
            $ref: '#/definitions/error'
981
        '404':
982
          description: Register not found
983
          schema:
984
            $ref: '#/definitions/error'
985
        '500':
986
          description: |
987
            Internal server error. Possible `error_code` attribute values:
988
989
            * `internal_server_error`
990
          schema:
991
            $ref: '#/definitions/error'
992
        '503':
993
          description: Under maintenance
994
          schema:
995
            $ref: '#/definitions/error'
996
      x-koha-authorization:
997
        permissions:
998
          cash_management: cashup
999
      x-koha-embed:
1000
        - manager
1001
  '/cashups/{cashup_id}':
1002
    get:
1003
      x-mojo-to: 'CashRegisters::Cashups#get'
1004
      operationId: getCashup
1005
      tags:
1006
        - cashups
1007
      summary: Get cashup
1008
      parameters:
1009
        - $ref: '#/parameters/cashup_id_pp'
1010
      produces:
1011
        - application/json
1012
      responses:
1013
        '200':
1014
          description: A cashup
1015
          schema:
1016
            $ref: '#/definitions/cashup'
1017
        '403':
1018
          description: Access forbidden
1019
          schema:
1020
            $ref: '#/definitions/error'
1021
        '404':
1022
          description: Patron not found
1023
          schema:
1024
            $ref: '#/definitions/error'
1025
        '500':
1026
          description: |
1027
            Internal server error. Possible `error_code` attribute values:
1028
1029
            * `internal_server_error`
1030
          schema:
1031
            $ref: '#/definitions/error'
1032
        '503':
1033
          description: Under maintenance
1034
          schema:
1035
            $ref: '#/definitions/error'
1036
      x-koha-authorization:
1037
        permissions:
1038
          cash_management: cashup
1039
      x-koha-embed:
1040
        - summary
1041
  /checkouts:
1042
    get:
1043
      x-mojo-to: Checkouts#list
1044
      operationId: listCheckouts
1045
      tags:
1046
        - checkouts
1047
      summary: List checkouts
1048
      parameters:
1049
        - $ref: '#/parameters/patron_id_qp'
1050
        - $ref: '#/parameters/page'
1051
        - $ref: '#/parameters/per_page'
1052
        - $ref: '#/parameters/match'
1053
        - $ref: '#/parameters/order_by'
1054
        - $ref: '#/parameters/q_param'
1055
        - $ref: '#/parameters/q_body'
1056
        - $ref: '#/parameters/q_header'
1057
        - name: checked_in
1058
          in: query
1059
          description: 'By default, current checkouts are returned, when this is true then checked in checkouts are returned as result.'
1060
          type: boolean
1061
      produces:
1062
        - application/json
1063
      responses:
1064
        '200':
1065
          description: A list of checkouts
1066
          schema:
1067
            $ref: '#/definitions/checkouts'
1068
        '403':
1069
          description: Access forbidden
1070
          schema:
1071
            $ref: '#/definitions/error'
1072
        '404':
1073
          description: Patron not found
1074
          schema:
1075
            $ref: '#/definitions/error'
1076
        '500':
1077
          description: |
1078
            Internal server error. Possible `error_code` attribute values:
1079
1080
            * `internal_server_error`
1081
          schema:
1082
            $ref: '#/definitions/error'
1083
        '503':
1084
          description: Under maintenance
1085
          schema:
1086
            $ref: '#/definitions/error'
1087
      x-koha-authorization:
1088
        permissions:
1089
          circulate: circulate_remaining_permissions
1090
      x-koha-embed:
1091
        - issuer
1092
  '/checkouts/{checkout_id}':
1093
    get:
1094
      x-mojo-to: Checkouts#get
1095
      operationId: getCheckout
1096
      tags:
1097
        - checkouts
1098
      summary: Get checkout
1099
      parameters:
1100
        - $ref: '#/parameters/checkout_id_pp'
1101
      produces:
1102
        - application/json
1103
      responses:
1104
        '200':
1105
          description: Updated borrower's checkout
1106
          schema:
1107
            $ref: '#/definitions/checkout'
1108
        '403':
1109
          description: Access forbidden
1110
          schema:
1111
            $ref: '#/definitions/error'
1112
        '404':
1113
          description: Checkout not found
1114
          schema:
1115
            $ref: '#/definitions/error'
1116
        '500':
1117
          description: |
1118
            Internal server error. Possible `error_code` attribute values:
1119
1120
            * `internal_server_error`
1121
          schema:
1122
            $ref: '#/definitions/error'
1123
        '503':
1124
          description: Under maintenance
1125
          schema:
1126
            $ref: '#/definitions/error'
1127
      x-koha-authorization:
1128
        permissions:
1129
          circulate: circulate_remaining_permissions
1130
      x-koha-embed:
1131
        - issuer
1132
  '/checkouts/{checkout_id}/renewal':
1133
    post:
1134
      x-mojo-to: Checkouts#renew
1135
      operationId: renewCheckout
1136
      tags:
1137
        - checkouts
1138
      summary: Renew a checkout
1139
      parameters:
1140
        - $ref: '#/parameters/checkout_id_pp'
1141
        - $ref: '#/parameters/seen_pp'
1142
      produces:
1143
        - application/json
1144
      responses:
1145
        '201':
1146
          description: Updated borrower's checkout
1147
          schema:
1148
            $ref: '#/definitions/checkout'
1149
        '403':
1150
          description: Cannot renew checkout
1151
          schema:
1152
            $ref: '#/definitions/error'
1153
        '404':
1154
          description: Checkout not found
1155
          schema:
1156
            $ref: '#/definitions/error'
1157
        '500':
1158
          description: |
1159
            Internal server error. Possible `error_code` attribute values:
1160
1161
            * `internal_server_error`
1162
          schema:
1163
            $ref: '#/definitions/error'
1164
        '503':
1165
          description: Under maintenance
1166
          schema:
1167
            $ref: '#/definitions/error'
1168
      x-koha-authorization:
1169
        permissions:
1170
          circulate: circulate_remaining_permissions
1171
  /circulation-rules/kinds:
1172
    get:
1173
      x-mojo-to: CirculationRules#get_kinds
1174
      operationId: getCirculationRuleKinds
1175
      tags:
1176
        - circulation_rules
1177
      summary: Get circulation rules kinds
1178
      produces:
1179
        - application/json
1180
      responses:
1181
        '200':
1182
          description: A map of rule kind information
1183
          schema:
1184
            type: object
1185
            additionalProperties:
1186
              $ref: '#/definitions/circ-rule-kind'
1187
        '403':
1188
          description: Access forbidden
1189
          schema:
1190
            $ref: '#/definitions/error'
1191
        '500':
1192
          description: |
1193
            Internal server error. Possible `error_code` attribute values:
1194
1195
            * `internal_server_error`
1196
          schema:
1197
            $ref: '#/definitions/error'
1198
        '503':
1199
          description: Under maintenance
1200
          schema:
1201
            $ref: '#/definitions/error'
1202
  /cities:
1203
    get:
1204
      x-mojo-to: Cities#list
1205
      operationId: listCities
1206
      tags:
1207
        - cities
1208
      summary: List cities
1209
      produces:
1210
        - application/json
1211
      parameters:
1212
        - name: name
1213
          in: query
1214
          description: Case insensative search on city name
1215
          required: false
1216
          type: string
1217
        - name: state
1218
          in: query
1219
          description: Case insensative search on city state
1220
          required: false
1221
          type: string
1222
        - name: country
1223
          in: query
1224
          description: Case insensative search on city country
1225
          required: false
1226
          type: string
1227
        - name: postal_code
1228
          in: query
1229
          description: Case Insensative search on city postal code
1230
          required: false
1231
          type: string
1232
        - $ref: '#/parameters/match'
1233
        - $ref: '#/parameters/order_by'
1234
        - $ref: '#/parameters/page'
1235
        - $ref: '#/parameters/per_page'
1236
        - $ref: '#/parameters/q_param'
1237
        - $ref: '#/parameters/q_body'
1238
        - $ref: '#/parameters/q_header'
1239
      responses:
1240
        '200':
1241
          description: A list of cities
1242
          schema:
1243
            type: array
1244
            items:
1245
              $ref: '#/definitions/city'
1246
        '403':
1247
          description: Access forbidden
1248
          schema:
1249
            $ref: '#/definitions/error'
1250
        '500':
1251
          description: |
1252
            Internal server error. Possible `error_code` attribute values:
1253
1254
            * `internal_server_error`
1255
          schema:
1256
            $ref: '#/definitions/error'
1257
        '503':
1258
          description: Under maintenance
1259
          schema:
1260
            $ref: '#/definitions/error'
1261
      x-koha-authorization:
1262
        permissions:
1263
          catalogue: '1'
1264
    post:
1265
      x-mojo-to: Cities#add
1266
      operationId: addCity
1267
      tags:
1268
        - cities
1269
      summary: Add city
1270
      parameters:
1271
        - name: body
1272
          in: body
1273
          description: A JSON object containing informations about the new hold
1274
          required: true
1275
          schema:
1276
            $ref: '#/definitions/city'
1277
      produces:
1278
        - application/json
1279
      responses:
1280
        '201':
1281
          description: City added
1282
          schema:
1283
            $ref: '#/definitions/city'
1284
        '401':
1285
          description: Authentication required
1286
          schema:
1287
            $ref: '#/definitions/error'
1288
        '403':
1289
          description: Access forbidden
1290
          schema:
1291
            $ref: '#/definitions/error'
1292
        '500':
1293
          description: |
1294
            Internal server error. Possible `error_code` attribute values:
1295
1296
            * `internal_server_error`
1297
          schema:
1298
            $ref: '#/definitions/error'
1299
        '503':
1300
          description: Under maintenance
1301
          schema:
1302
            $ref: '#/definitions/error'
1303
      x-koha-authorization:
1304
        permissions:
1305
          parameters: manage_cities
1306
  '/cities/{city_id}':
1307
    get:
1308
      x-mojo-to: Cities#get
1309
      operationId: getCity
1310
      tags:
1311
        - cities
1312
      summary: Get city
1313
      parameters:
1314
        - $ref: '#/parameters/city_id_pp'
1315
      produces:
1316
        - application/json
1317
      responses:
1318
        '200':
1319
          description: A city
1320
          schema:
1321
            $ref: '#/definitions/city'
1322
        '404':
1323
          description: City not found
1324
          schema:
1325
            $ref: '#/definitions/error'
1326
        '500':
1327
          description: |
1328
            Internal server error. Possible `error_code` attribute values:
1329
1330
            * `internal_server_error`
1331
          schema:
1332
            $ref: '#/definitions/error'
1333
        '503':
1334
          description: Under maintenance
1335
          schema:
1336
            $ref: '#/definitions/error'
1337
      x-koha-authorization:
1338
        permissions:
1339
          catalogue: '1'
1340
    put:
1341
      x-mojo-to: Cities#update
1342
      operationId: updateCity
1343
      tags:
1344
        - cities
1345
      summary: Update city
1346
      parameters:
1347
        - $ref: '#/parameters/city_id_pp'
1348
        - name: body
1349
          in: body
1350
          description: A city object
1351
          required: true
1352
          schema:
1353
            $ref: '#/definitions/city'
1354
      produces:
1355
        - application/json
1356
      responses:
1357
        '200':
1358
          description: A city
1359
          schema:
1360
            $ref: '#/definitions/city'
1361
        '401':
1362
          description: Authentication required
1363
          schema:
1364
            $ref: '#/definitions/error'
1365
        '403':
1366
          description: Access forbidden
1367
          schema:
1368
            $ref: '#/definitions/error'
1369
        '404':
1370
          description: City not found
1371
          schema:
1372
            $ref: '#/definitions/error'
1373
        '500':
1374
          description: Internal error
1375
          schema:
1376
            $ref: '#/definitions/error'
1377
        '503':
1378
          description: Under maintenance
1379
          schema:
1380
            $ref: '#/definitions/error'
1381
      x-koha-authorization:
1382
        permissions:
1383
          parameters: manage_cities
1384
    delete:
1385
      x-mojo-to: Cities#delete
1386
      operationId: deleteCity
1387
      tags:
1388
        - cities
1389
      summary: Delete city
1390
      parameters:
1391
        - $ref: '#/parameters/city_id_pp'
1392
      produces:
1393
        - application/json
1394
      responses:
1395
        '204':
1396
          description: City deleted
1397
        '401':
1398
          description: Authentication required
1399
          schema:
1400
            $ref: '#/definitions/error'
1401
        '403':
1402
          description: Access forbidden
1403
          schema:
1404
            $ref: '#/definitions/error'
1405
        '404':
1406
          description: City not found
1407
          schema:
1408
            $ref: '#/definitions/error'
1409
        '500':
1410
          description: Internal error
1411
          schema:
1412
            $ref: '#/definitions/error'
1413
        '503':
1414
          description: Under maintenance
1415
          schema:
1416
            $ref: '#/definitions/error'
1417
      x-koha-authorization:
1418
        permissions:
1419
          parameters: manage_cities
1420
  '/clubs/{club_id}/holds':
1421
    post:
1422
      x-mojo-to: 'Clubs::Holds#add'
1423
      operationId: addClubHold
1424
      tags:
1425
        - clubs
1426
      summary: Add a club hold
1427
      parameters:
1428
        - $ref: '#/parameters/club_id_pp'
1429
        - name: body
1430
          in: body
1431
          description: A JSON object containing informations about the new hold
1432
          required: true
1433
          schema:
1434
            type: object
1435
            properties:
1436
              biblio_id:
1437
                description: Internal biblio identifier
1438
                type:
1439
                  - integer
1440
                  - 'null'
1441
              item_id:
1442
                description: Internal item identifier
1443
                type:
1444
                  - integer
1445
                  - 'null'
1446
              pickup_library_id:
1447
                description: Internal library identifier for the pickup library
1448
                type: string
1449
              expiration_date:
1450
                description: Hold end date
1451
                type:
1452
                  - string
1453
                  - 'null'
1454
                format: date
1455
              notes:
1456
                description: Notes related to this hold
1457
                type:
1458
                  - string
1459
                  - 'null'
1460
              item_type:
1461
                description: Limit hold on one itemtype (ignored for item-level holds)
1462
                type:
1463
                  - string
1464
                  - 'null'
1465
              default_patron_home:
1466
                description: 'For each patron, set pickup location to patron''s home library if possible'
1467
                type: integer
1468
            required:
1469
              - pickup_library_id
1470
            additionalProperties: false
1471
      consumes:
1472
        - application/json
1473
      produces:
1474
        - application/json
1475
      responses:
1476
        '201':
1477
          description: Created club hold
1478
          schema:
1479
            type: object
1480
            properties:
1481
              club_hold_id:
1482
                type: integer
1483
                description: Internal club hold identifier
1484
              club_id:
1485
                type: integer
1486
                description: Internal club identifier
1487
              biblio_id:
1488
                type: integer
1489
                description: Internal biblio identifier
1490
              item_id:
1491
                type:
1492
                  - string
1493
                  - 'null'
1494
                description: Internal item identifier
1495
              date_created:
1496
                type: string
1497
                format: date-time
1498
                description: Date and time the hold was created
1499
            additionalProperties: false
1500
        '400':
1501
          description: Missing or wrong parameters
1502
          schema:
1503
            $ref: '#/definitions/error'
1504
        '401':
1505
          description: Authentication required
1506
          schema:
1507
            $ref: '#/definitions/error'
1508
        '403':
1509
          description: Hold not allowed
1510
          schema:
1511
            $ref: '#/definitions/error'
1512
        '404':
1513
          description: Club not found
1514
          schema:
1515
            $ref: '#/definitions/error'
1516
        '409':
1517
          description: Hold not allowed
1518
          schema:
1519
            $ref: '#/definitions/error'
1520
        '500':
1521
          description: |
1522
            Internal server error. Possible `error_code` attribute values:
1523
1524
            * `internal_server_error`
1525
          schema:
1526
            $ref: '#/definitions/error'
1527
        '503':
1528
          description: Under maintenance
1529
          schema:
1530
            $ref: '#/definitions/error'
1531
      x-koha-authorization:
1532
        permissions:
1533
          reserveforothers: '1'
1534
  /config/smtp_servers:
1535
    get:
1536
      x-mojo-to: 'Config::SMTP::Servers#list'
1537
      operationId: listSMTPServers
1538
      tags:
1539
        - smtp_servers
1540
      summary: List SMTP servers
1541
      produces:
1542
        - application/json
1543
      parameters:
1544
        - $ref: '#/parameters/match'
1545
        - $ref: '#/parameters/order_by'
1546
        - $ref: '#/parameters/page'
1547
        - $ref: '#/parameters/per_page'
1548
        - $ref: '#/parameters/q_param'
1549
        - $ref: '#/parameters/q_body'
1550
        - $ref: '#/parameters/q_header'
1551
      responses:
1552
        '200':
1553
          description: A list of SMTP servers
1554
          schema:
1555
            type: array
1556
            items:
1557
              $ref: '#/definitions/smtp_server'
1558
        '403':
1559
          description: Access forbidden
1560
          schema:
1561
            $ref: '#/definitions/error'
1562
        '500':
1563
          description: |
1564
            Internal server error. Possible `error_code` attribute values:
1565
1566
            * `internal_server_error`
1567
          schema:
1568
            $ref: '#/definitions/error'
1569
        '503':
1570
          description: Under maintenance
1571
          schema:
1572
            $ref: '#/definitions/error'
1573
      x-koha-authorization:
1574
        permissions:
1575
          parameters: manage_smtp_servers
1576
    post:
1577
      x-mojo-to: 'Config::SMTP::Servers#add'
1578
      operationId: addSMTPServer
1579
      tags:
1580
        - smtp_servers
1581
      summary: Add SMTP server
1582
      parameters:
1583
        - name: body
1584
          in: body
1585
          description: A JSON object representing a new SMTP server configuration
1586
          required: true
1587
          schema:
1588
            $ref: '#/definitions/smtp_server'
1589
      produces:
1590
        - application/json
1591
      responses:
1592
        '201':
1593
          description: An SMTP server object
1594
          schema:
1595
            $ref: '#/definitions/smtp_server'
1596
        '401':
1597
          description: Authentication required
1598
          schema:
1599
            $ref: '#/definitions/error'
1600
        '403':
1601
          description: Access forbidden
1602
          schema:
1603
            $ref: '#/definitions/error'
1604
        '409':
1605
          description: Conflict in creating resource
1606
          schema:
1607
            $ref: '#/definitions/error'
1608
        '500':
1609
          description: |
1610
            Internal server error. Possible `error_code` attribute values:
1611
1612
            * `internal_server_error`
1613
          schema:
1614
            $ref: '#/definitions/error'
1615
        '503':
1616
          description: Under maintenance
1617
          schema:
1618
            $ref: '#/definitions/error'
1619
      x-koha-authorization:
1620
        permissions:
1621
          parameters: manage_smtp_servers
1622
  '/config/smtp_servers/{smtp_server_id}':
1623
    get:
1624
      x-mojo-to: 'Config::SMTP::Servers#get'
1625
      operationId: getSMTPServer
1626
      tags:
1627
        - smtp_servers
1628
      summary: Get SMTP server
1629
      parameters:
1630
        - $ref: '#/parameters/smtp_server_id_pp'
1631
      produces:
1632
        - application/json
1633
      responses:
1634
        '200':
1635
          description: An SMTP server object
1636
          schema:
1637
            $ref: '#/definitions/smtp_server'
1638
        '404':
1639
          description: Object not found
1640
          schema:
1641
            $ref: '#/definitions/error'
1642
        '409':
1643
          description: Conflict updating resource
1644
          schema:
1645
            $ref: '#/definitions/error'
1646
        '500':
1647
          description: |
1648
            Internal server error. Possible `error_code` attribute values:
1649
1650
            * `internal_server_error`
1651
          schema:
1652
            $ref: '#/definitions/error'
1653
        '503':
1654
          description: Under maintenance
1655
          schema:
1656
            $ref: '#/definitions/error'
1657
      x-koha-authorization:
1658
        permissions:
1659
          parameters: manage_smtp_servers
1660
    put:
1661
      x-mojo-to: 'Config::SMTP::Servers#update'
1662
      operationId: updateSMTPServer
1663
      tags:
1664
        - smtp_servers
1665
      summary: Update SMTP server
1666
      parameters:
1667
        - $ref: '#/parameters/smtp_server_id_pp'
1668
        - name: body
1669
          in: body
1670
          description: An SMTP server object
1671
          required: true
1672
          schema:
1673
            $ref: '#/definitions/smtp_server'
1674
      produces:
1675
        - application/json
1676
      responses:
1677
        '200':
1678
          description: An SMTP server object
1679
          schema:
1680
            $ref: '#/definitions/smtp_server'
1681
        '401':
1682
          description: Authentication required
1683
          schema:
1684
            $ref: '#/definitions/error'
1685
        '403':
1686
          description: Access forbidden
1687
          schema:
1688
            $ref: '#/definitions/error'
1689
        '404':
1690
          description: Object not found
1691
          schema:
1692
            $ref: '#/definitions/error'
1693
        '500':
1694
          description: |
1695
            Internal server error. Possible `error_code` attribute values:
1696
1697
            * `internal_server_error`
1698
          schema:
1699
            $ref: '#/definitions/error'
1700
        '503':
1701
          description: Under maintenance
1702
          schema:
1703
            $ref: '#/definitions/error'
1704
      x-koha-authorization:
1705
        permissions:
1706
          parameters: manage_smtp_servers
1707
    delete:
1708
      x-mojo-to: 'Config::SMTP::Servers#delete'
1709
      operationId: deleteSMTPServer
1710
      tags:
1711
        - smtp_servers
1712
      summary: Delete SMTP server
1713
      parameters:
1714
        - $ref: '#/parameters/smtp_server_id_pp'
1715
      produces:
1716
        - application/json
1717
      responses:
1718
        '204':
1719
          description: SMTP server deleted
1720
        '401':
1721
          description: Authentication required
1722
          schema:
1723
            $ref: '#/definitions/error'
1724
        '403':
1725
          description: Access forbidden
1726
          schema:
1727
            $ref: '#/definitions/error'
1728
        '404':
1729
          description: Object not found
1730
          schema:
1731
            $ref: '#/definitions/error'
1732
        '500':
1733
          description: |
1734
            Internal server error. Possible `error_code` attribute values:
1735
1736
            * `internal_server_error`
1737
          schema:
1738
            $ref: '#/definitions/error'
1739
        '503':
1740
          description: Under maintenance
1741
          schema:
1742
            $ref: '#/definitions/error'
1743
      x-koha-authorization:
1744
        permissions:
1745
          parameters: manage_smtp_servers
1746
  /holds:
1747
    get:
1748
      x-mojo-to: Holds#list
1749
      operationId: listHolds
1750
      tags:
1751
        - holds
1752
      summary: List holds
1753
      parameters:
1754
        - name: hold_id
1755
          in: query
1756
          description: Internal hold identifier
1757
          type: integer
1758
        - name: patron_id
1759
          in: query
1760
          description: Internal patron identifier
1761
          type: integer
1762
        - name: hold_date
1763
          in: query
1764
          description: Hold
1765
          type: string
1766
          format: date
1767
        - name: biblio_id
1768
          in: query
1769
          description: Internal biblio identifier
1770
          type: integer
1771
        - name: pickup_library_id
1772
          in: query
1773
          description: Internal library identifier for the pickup library
1774
          type: string
1775
        - name: cancellation_date
1776
          in: query
1777
          description: The date the hold was cancelled
1778
          type: string
1779
          format: date
1780
        - name: notes
1781
          in: query
1782
          description: Notes related to this hold
1783
          type: string
1784
        - name: priority
1785
          in: query
1786
          description: Where in the queue the patron sits
1787
          type: integer
1788
        - name: status
1789
          in: query
1790
          description: Found status
1791
          type: string
1792
        - name: timestamp
1793
          in: query
1794
          description: Time of latest update
1795
          type: string
1796
        - name: item_id
1797
          in: query
1798
          description: Internal item identifier
1799
          type: integer
1800
        - name: waiting_date
1801
          in: query
1802
          description: Date the item was marked as waiting for the patron
1803
          type: string
1804
        - name: expiration_date
1805
          in: query
1806
          description: Date the hold expires
1807
          type: string
1808
        - name: lowest_priority
1809
          in: query
1810
          description: Lowest priority
1811
          type: boolean
1812
        - name: suspended
1813
          in: query
1814
          description: Suspended
1815
          type: boolean
1816
        - name: suspended_until
1817
          in: query
1818
          description: Suspended until
1819
          type: string
1820
        - name: non_priority
1821
          in: query
1822
          description: Non priority hold
1823
          type: boolean
1824
        - $ref: '#/parameters/match'
1825
        - $ref: '#/parameters/order_by'
1826
        - $ref: '#/parameters/page'
1827
        - $ref: '#/parameters/per_page'
1828
        - $ref: '#/parameters/q_param'
1829
        - $ref: '#/parameters/q_body'
1830
        - $ref: '#/parameters/q_header'
1831
      produces:
1832
        - application/json
1833
      responses:
1834
        '200':
1835
          description: A list of holds
1836
          schema:
1837
            $ref: '#/definitions/holds'
1838
        '401':
1839
          description: Authentication required
1840
          schema:
1841
            $ref: '#/definitions/error'
1842
        '403':
1843
          description: Hold not allowed
1844
          schema:
1845
            $ref: '#/definitions/error'
1846
        '404':
1847
          description: Borrower not found
1848
          schema:
1849
            $ref: '#/definitions/error'
1850
        '500':
1851
          description: |
1852
            Internal server error. Possible `error_code` attribute values:
1853
1854
            * `internal_server_error`
1855
          schema:
1856
            $ref: '#/definitions/error'
1857
        '503':
1858
          description: Under maintenance
1859
          schema:
1860
            $ref: '#/definitions/error'
1861
      x-koha-authorization:
1862
        permissions:
1863
          borrowers: edit_borrowers
1864
    post:
1865
      x-mojo-to: Holds#add
1866
      operationId: addHold
1867
      tags:
1868
        - holds
1869
      summary: Place hold
1870
      parameters:
1871
        - name: body
1872
          in: body
1873
          description: A JSON object containing informations about the new hold
1874
          required: true
1875
          schema:
1876
            type: object
1877
            properties:
1878
              patron_id:
1879
                description: Internal patron identifier
1880
                type: integer
1881
              biblio_id:
1882
                description: Internal biblio identifier
1883
                type:
1884
                  - integer
1885
                  - 'null'
1886
              hold_date:
1887
                description: The date the hold was placed
1888
                type:
1889
                  - string
1890
                  - 'null'
1891
                format: date
1892
              item_id:
1893
                description: Internal item identifier
1894
                type:
1895
                  - integer
1896
                  - 'null'
1897
              pickup_library_id:
1898
                description: Internal library identifier for the pickup library
1899
                type: string
1900
              expiration_date:
1901
                description: Hold end date
1902
                type:
1903
                  - string
1904
                  - 'null'
1905
                format: date
1906
              notes:
1907
                description: Notes related to this hold
1908
                type:
1909
                  - string
1910
                  - 'null'
1911
              item_type:
1912
                description: Limit hold on one itemtype (ignored for item-level holds)
1913
                type:
1914
                  - string
1915
                  - 'null'
1916
              non_priority:
1917
                description: Set this hold as non priority
1918
                type:
1919
                  - boolean
1920
                  - 'null'
1921
            required:
1922
              - patron_id
1923
              - pickup_library_id
1924
            additionalProperties: false
1925
        - name: x-koha-override
1926
          description: 'Comma-separated list of overrides (valid values: any)'
1927
          in: header
1928
          type: string
1929
          required: false
1930
      consumes:
1931
        - application/json
1932
      produces:
1933
        - application/json
1934
      responses:
1935
        '201':
1936
          description: Created hold
1937
          schema:
1938
            $ref: '#/definitions/hold'
1939
        '400':
1940
          description: Missing or wrong parameters
1941
          schema:
1942
            $ref: '#/definitions/error'
1943
        '401':
1944
          description: Authentication required
1945
          schema:
1946
            $ref: '#/definitions/error'
1947
        '403':
1948
          description: Hold not allowed
1949
          schema:
1950
            $ref: '#/definitions/error'
1951
        '404':
1952
          description: Borrower not found
1953
          schema:
1954
            $ref: '#/definitions/error'
1955
        '500':
1956
          description: |
1957
            Internal server error. Possible `error_code` attribute values:
1958
1959
            * `internal_server_error`
1960
          schema:
1961
            $ref: '#/definitions/error'
1962
        '503':
1963
          description: Under maintenance
1964
          schema:
1965
            $ref: '#/definitions/error'
1966
      x-koha-authorization:
1967
        permissions:
1968
          reserveforothers: '1'
1969
  '/holds/{hold_id}':
1970
    patch:
1971
      x-mojo-to: Holds#edit
1972
      operationId: editHold
1973
      tags:
1974
        - holds
1975
      summary: Update hold
1976
      parameters:
1977
        - $ref: '#/parameters/hold_id_pp'
1978
        - name: body
1979
          in: body
1980
          description: A JSON object containing fields to modify
1981
          required: true
1982
          schema:
1983
            type: object
1984
            properties:
1985
              priority:
1986
                description: Position in waiting queue
1987
                type: integer
1988
                minimum: 1
1989
              pickup_library_id:
1990
                description: Internal library identifier for the pickup library
1991
                type: string
1992
              suspended_until:
1993
                description: Date until which the hold has been suspended
1994
                type: string
1995
                format: date-time
1996
            additionalProperties: false
1997
      consumes:
1998
        - application/json
1999
      produces:
2000
        - application/json
2001
      responses:
2002
        '200':
2003
          description: Updated hold
2004
          schema:
2005
            $ref: '#/definitions/hold'
2006
        '400':
2007
          description: Missing or wrong parameters
2008
          schema:
2009
            $ref: '#/definitions/error'
2010
        '401':
2011
          description: Authentication required
2012
          schema:
2013
            $ref: '#/definitions/error'
2014
        '403':
2015
          description: Hold not allowed
2016
          schema:
2017
            $ref: '#/definitions/error'
2018
        '404':
2019
          description: Hold not found
2020
          schema:
2021
            $ref: '#/definitions/error'
2022
        '500':
2023
          description: |
2024
            Internal server error. Possible `error_code` attribute values:
2025
2026
            * `internal_server_error`
2027
          schema:
2028
            $ref: '#/definitions/error'
2029
        '503':
2030
          description: Under maintenance
2031
          schema:
2032
            $ref: '#/definitions/error'
2033
      x-koha-authorization:
2034
        permissions:
2035
          reserveforothers: '1'
2036
    put:
2037
      x-mojo-to: Holds#edit
2038
      operationId: overwriteHold
2039
      tags:
2040
        - holds
2041
      summary: Update hold
2042
      description: 'This route is being deprecated and will be removed in future releases. Please migrate your project to use PATCH /holds/{hold_id} instead.'
2043
      parameters:
2044
        - $ref: '#/parameters/hold_id_pp'
2045
        - name: body
2046
          in: body
2047
          description: A JSON object containing fields to modify
2048
          required: true
2049
          schema:
2050
            type: object
2051
            properties:
2052
              priority:
2053
                description: Position in waiting queue
2054
                type: integer
2055
                minimum: 1
2056
              pickup_library_id:
2057
                description: Internal library identifier for the pickup library
2058
                type: string
2059
              suspended_until:
2060
                description: Date until which the hold has been suspended
2061
                type: string
2062
                format: date-time
2063
            additionalProperties: false
2064
      consumes:
2065
        - application/json
2066
      produces:
2067
        - application/json
2068
      responses:
2069
        '200':
2070
          description: Updated hold
2071
          schema:
2072
            $ref: '#/definitions/hold'
2073
        '400':
2074
          description: Missing or wrong parameters
2075
          schema:
2076
            $ref: '#/definitions/error'
2077
        '401':
2078
          description: Authentication required
2079
          schema:
2080
            $ref: '#/definitions/error'
2081
        '403':
2082
          description: Hold not allowed
2083
          schema:
2084
            $ref: '#/definitions/error'
2085
        '404':
2086
          description: Hold not found
2087
          schema:
2088
            $ref: '#/definitions/error'
2089
        '500':
2090
          description: |
2091
            Internal server error. Possible `error_code` attribute values:
2092
2093
            * `internal_server_error`
2094
          schema:
2095
            $ref: '#/definitions/error'
2096
        '503':
2097
          description: Under maintenance
2098
          schema:
2099
            $ref: '#/definitions/error'
2100
      x-koha-authorization:
2101
        permissions:
2102
          reserveforothers: '1'
2103
    delete:
2104
      x-mojo-to: Holds#delete
2105
      operationId: deleteHold
2106
      tags:
2107
        - holds
2108
      summary: Cancel hold
2109
      parameters:
2110
        - $ref: '#/parameters/hold_id_pp'
2111
      produces:
2112
        - application/json
2113
      responses:
2114
        '204':
2115
          description: Hold deleted
2116
        '401':
2117
          description: Authentication required
2118
          schema:
2119
            $ref: '#/definitions/error'
2120
        '403':
2121
          description: Hold not allowed
2122
          schema:
2123
            $ref: '#/definitions/error'
2124
        '404':
2125
          description: Hold not found
2126
          schema:
2127
            $ref: '#/definitions/error'
2128
        '500':
2129
          description: |
2130
            Internal server error. Possible `error_code` attribute values:
2131
2132
            * `internal_server_error`
2133
          schema:
2134
            $ref: '#/definitions/error'
2135
        '503':
2136
          description: Under maintenance
2137
          schema:
2138
            $ref: '#/definitions/error'
2139
      x-koha-authorization:
2140
        permissions:
2141
          reserveforothers: '1'
2142
  '/holds/{hold_id}/priority':
2143
    put:
2144
      x-mojo-to: Holds#update_priority
2145
      operationId: updateHoldPriority
2146
      tags:
2147
        - holds
2148
      summary: Update priority for the hold
2149
      parameters:
2150
        - $ref: '#/parameters/hold_id_pp'
2151
        - name: body
2152
          in: body
2153
          description: An integer representing the new priority to be set for the hold
2154
          required: true
2155
          schema:
2156
            type: integer
2157
      produces:
2158
        - application/json
2159
      responses:
2160
        '200':
2161
          description: The new priority value for the hold
2162
          schema:
2163
            type: integer
2164
        '401':
2165
          description: Authentication required
2166
          schema:
2167
            $ref: '#/definitions/error'
2168
        '403':
2169
          description: Access forbidden
2170
          schema:
2171
            $ref: '#/definitions/error'
2172
        '404':
2173
          description: Biblio not found
2174
          schema:
2175
            $ref: '#/definitions/error'
2176
        '409':
2177
          description: Unable to perform action on biblio
2178
          schema:
2179
            $ref: '#/definitions/error'
2180
        '500':
2181
          description: |
2182
            Internal server error. Possible `error_code` attribute values:
2183
2184
            * `internal_server_error`
2185
          schema:
2186
            $ref: '#/definitions/error'
2187
        '503':
2188
          description: Under maintenance
2189
          schema:
2190
            $ref: '#/definitions/error'
2191
      x-koha-authorization:
2192
        permissions:
2193
          reserveforothers: modify_holds_priority
2194
  '/holds/{hold_id}/suspension':
2195
    post:
2196
      x-mojo-to: Holds#suspend
2197
      operationId: suspendHold
2198
      tags:
2199
        - holds
2200
      summary: Suspend the hold
2201
      parameters:
2202
        - $ref: '#/parameters/hold_id_pp'
2203
        - name: body
2204
          in: body
2205
          description: A JSON object containing fields to modify
2206
          required: false
2207
          schema:
2208
            type: object
2209
            properties:
2210
              end_date:
2211
                description: Date the hold suspension expires
2212
                type: string
2213
                format: date
2214
            additionalProperties: false
2215
      consumes:
2216
        - application/json
2217
      produces:
2218
        - application/json
2219
      responses:
2220
        '201':
2221
          description: Hold suspended
2222
        '400':
2223
          description: Missing or wrong parameters
2224
          schema:
2225
            $ref: '#/definitions/error'
2226
        '401':
2227
          description: Authentication required
2228
          schema:
2229
            $ref: '#/definitions/error'
2230
        '403':
2231
          description: Hold not allowed
2232
          schema:
2233
            $ref: '#/definitions/error'
2234
        '404':
2235
          description: Hold not found
2236
          schema:
2237
            $ref: '#/definitions/error'
2238
        '500':
2239
          description: |
2240
            Internal server error. Possible `error_code` attribute values:
2241
2242
            * `internal_server_error`
2243
          schema:
2244
            $ref: '#/definitions/error'
2245
        '503':
2246
          description: Under maintenance
2247
          schema:
2248
            $ref: '#/definitions/error'
2249
      x-koha-authorization:
2250
        permissions:
2251
          reserveforothers: '1'
2252
    delete:
2253
      x-mojo-to: Holds#resume
2254
      operationId: resumeHold
2255
      tags:
2256
        - holds
2257
      summary: Resume hold
2258
      parameters:
2259
        - $ref: '#/parameters/hold_id_pp'
2260
      consumes:
2261
        - application/json
2262
      produces:
2263
        - application/json
2264
      responses:
2265
        '204':
2266
          description: Hold resumed
2267
        '400':
2268
          description: Missing or wrong parameters
2269
          schema:
2270
            $ref: '#/definitions/error'
2271
        '401':
2272
          description: Authentication required
2273
          schema:
2274
            $ref: '#/definitions/error'
2275
        '403':
2276
          description: Hold not allowed
2277
          schema:
2278
            $ref: '#/definitions/error'
2279
        '404':
2280
          description: Hold not found
2281
          schema:
2282
            $ref: '#/definitions/error'
2283
        '500':
2284
          description: |
2285
            Internal server error. Possible `error_code` attribute values:
2286
2287
            * `internal_server_error`
2288
          schema:
2289
            $ref: '#/definitions/error'
2290
        '503':
2291
          description: Under maintenance
2292
          schema:
2293
            $ref: '#/definitions/error'
2294
      x-koha-authorization:
2295
        permissions:
2296
          reserveforothers: '1'
2297
  '/holds/{hold_id}/pickup_locations':
2298
    get:
2299
      x-mojo-to: Holds#pickup_locations
2300
      operationId: getHoldPickupLocations
2301
      tags:
2302
        - holds
2303
      summary: Get valid pickup locations for hold
2304
      parameters:
2305
        - name: x-koha-override
2306
          description: 'Comma-separated list of overrides (valid values: any)'
2307
          in: header
2308
          type: string
2309
          required: false
2310
        - $ref: '#/parameters/hold_id_pp'
2311
        - $ref: '#/parameters/match'
2312
        - $ref: '#/parameters/order_by'
2313
        - $ref: '#/parameters/page'
2314
        - $ref: '#/parameters/per_page'
2315
        - $ref: '#/parameters/q_param'
2316
        - $ref: '#/parameters/q_body'
2317
        - $ref: '#/parameters/q_header'
2318
      produces:
2319
        - application/json
2320
      responses:
2321
        '200':
2322
          description: Hold pickup location
2323
          schema:
2324
            type: array
2325
            items:
2326
              $ref: '#/definitions/library'
2327
        '400':
2328
          description: Missing or wrong parameters
2329
          schema:
2330
            $ref: '#/definitions/error'
2331
        '401':
2332
          description: Authentication required
2333
          schema:
2334
            $ref: '#/definitions/error'
2335
        '403':
2336
          description: Hold pickup location list not allowed
2337
          schema:
2338
            $ref: '#/definitions/error'
2339
        '404':
2340
          description: Hold not found
2341
          schema:
2342
            $ref: '#/definitions/error'
2343
        '500':
2344
          description: |
2345
            Internal server error. Possible `error_code` attribute values:
2346
2347
            * `internal_server_error`
2348
          schema:
2349
            $ref: '#/definitions/error'
2350
        '503':
2351
          description: Under maintenance
2352
          schema:
2353
            $ref: '#/definitions/error'
2354
      x-koha-authorization:
2355
        permissions:
2356
          reserveforothers: place_holds
2357
  '/holds/{hold_id}/pickup_location':
2358
    put:
2359
      x-mojo-to: Holds#update_pickup_location
2360
      operationId: updateHoldPickupLocation
2361
      tags:
2362
        - holds
2363
      summary: Update pickup location for the hold
2364
      description: Set a new pickup location for the hold
2365
      parameters:
2366
        - $ref: '#/parameters/hold_id_pp'
2367
        - name: body
2368
          in: body
2369
          description: Pickup location
2370
          required: true
2371
          schema:
2372
            type: object
2373
            properties:
2374
              pickup_library_id:
2375
                type: string
2376
                description: Internal identifier for the pickup library
2377
            additionalProperties: false
2378
      produces:
2379
        - application/json
2380
      responses:
2381
        '200':
2382
          description: The new pickup location value for the hold
2383
          schema:
2384
            type: object
2385
            properties:
2386
              pickup_library_id:
2387
                type: string
2388
                description: Internal identifier for the pickup library
2389
            additionalProperties: false
2390
        '400':
2391
          description: Missing or wrong parameters
2392
          schema:
2393
            $ref: '#/definitions/error'
2394
        '401':
2395
          description: Authentication required
2396
          schema:
2397
            $ref: '#/definitions/error'
2398
        '403':
2399
          description: Access forbidden
2400
          schema:
2401
            $ref: '#/definitions/error'
2402
        '404':
2403
          description: Hold not found
2404
          schema:
2405
            $ref: '#/definitions/error'
2406
        '409':
2407
          description: Unable to perform action on hold
2408
          schema:
2409
            $ref: '#/definitions/error'
2410
        '500':
2411
          description: Internal error
2412
          schema:
2413
            $ref: '#/definitions/error'
2414
        '503':
2415
          description: Under maintenance
2416
          schema:
2417
            $ref: '#/definitions/error'
2418
      x-koha-authorization:
2419
        permissions:
2420
          reserveforothers: place_holds
2421
  /items:
2422
    get:
2423
      x-mojo-to: Items#list
2424
      operationId: listItems
2425
      tags:
2426
        - items
2427
      summary: List items
2428
      parameters:
2429
        - name: external_id
2430
          in: query
2431
          description: Search on the item's barcode
2432
          required: false
2433
          type: string
2434
        - $ref: '#/parameters/match'
2435
        - $ref: '#/parameters/order_by'
2436
        - $ref: '#/parameters/page'
2437
        - $ref: '#/parameters/per_page'
2438
        - $ref: '#/parameters/q_param'
2439
        - $ref: '#/parameters/q_body'
2440
        - $ref: '#/parameters/q_header'
2441
      consumes:
2442
        - application/json
2443
      produces:
2444
        - application/json
2445
      responses:
2446
        '200':
2447
          description: A list of item
2448
          schema:
2449
            type: array
2450
            items:
2451
              $ref: '#/definitions/item'
2452
        '401':
2453
          description: Authentication required
2454
          schema:
2455
            $ref: '#/definitions/error'
2456
        '403':
2457
          description: Access forbidden
2458
          schema:
2459
            $ref: '#/definitions/error'
2460
        '500':
2461
          description: |
2462
            Internal server error. Possible `error_code` attribute values:
2463
2464
            * `internal_server_error`
2465
          schema:
2466
            $ref: '#/definitions/error'
2467
        '503':
2468
          description: Under maintenance
2469
          schema:
2470
            $ref: '#/definitions/error'
2471
      x-koha-authorization:
2472
        permissions:
2473
          catalogue: '1'
2474
  '/items/{item_id}':
2475
    get:
2476
      x-mojo-to: Items#get
2477
      operationId: getItem
2478
      tags:
2479
        - items
2480
      summary: Get item
2481
      parameters:
2482
        - $ref: '#/parameters/item_id_pp'
2483
      consumes:
2484
        - application/json
2485
      produces:
2486
        - application/json
2487
      responses:
2488
        '200':
2489
          description: An item
2490
          schema:
2491
            $ref: '#/definitions/item'
2492
        '400':
2493
          description: Missing or wrong parameters
2494
          schema:
2495
            $ref: '#/definitions/error'
2496
        '404':
2497
          description: Item not found
2498
          schema:
2499
            $ref: '#/definitions/error'
2500
        '500':
2501
          description: |
2502
            Internal server error. Possible `error_code` attribute values:
2503
2504
            * `internal_server_error`
2505
          schema:
2506
            $ref: '#/definitions/error'
2507
        '503':
2508
          description: Under maintenance
2509
          schema:
2510
            $ref: '#/definitions/error'
2511
      x-koha-authorization:
2512
        permissions:
2513
          catalogue: '1'
2514
  '/items/{item_id}/pickup_locations':
2515
    get:
2516
      x-mojo-to: Items#pickup_locations
2517
      operationId: getItemPickupLocations
2518
      summary: Get valid pickup locations for an item
2519
      tags:
2520
        - items
2521
      parameters:
2522
        - $ref: '#/parameters/item_id_pp'
2523
        - name: patron_id
2524
          in: query
2525
          description: Internal patron identifier
2526
          required: true
2527
          type: integer
2528
        - $ref: '#/parameters/match'
2529
        - $ref: '#/parameters/order_by'
2530
        - $ref: '#/parameters/page'
2531
        - $ref: '#/parameters/per_page'
2532
        - $ref: '#/parameters/q_param'
2533
        - $ref: '#/parameters/q_body'
2534
        - $ref: '#/parameters/q_header'
2535
      consumes:
2536
        - application/json
2537
      produces:
2538
        - application/json
2539
      responses:
2540
        '200':
2541
          description: Item pickup locations
2542
          schema:
2543
            type: array
2544
            items:
2545
              $ref: '#/definitions/library'
2546
        '400':
2547
          description: Missing or wrong parameters
2548
          schema:
2549
            $ref: '#/definitions/error'
2550
        '401':
2551
          description: Authentication required
2552
          schema:
2553
            $ref: '#/definitions/error'
2554
        '403':
2555
          description: Access forbidden
2556
          schema:
2557
            $ref: '#/definitions/error'
2558
        '404':
2559
          description: Biblio not found
2560
          schema:
2561
            $ref: '#/definitions/error'
2562
        '500':
2563
          description: |
2564
            Internal server error. Possible `error_code` attribute values:
2565
2566
            * `internal_server_error`
2567
          schema:
2568
            $ref: '#/definitions/error'
2569
        '503':
2570
          description: Under maintenance
2571
          schema:
2572
            $ref: '#/definitions/error'
2573
      x-koha-authorization:
2574
        permissions:
2575
          reserveforothers: place_holds
2576
  /libraries:
2577
    get:
2578
      x-mojo-to: Libraries#list
2579
      operationId: listLibraries
2580
      tags:
2581
        - libraries
2582
      summary: List libraries
2583
      parameters:
2584
        - name: name
2585
          in: query
2586
          description: Case insensitive 'starts-with' search on name
2587
          required: false
2588
          type: string
2589
        - name: address1
2590
          in: query
2591
          description: Case insensitive 'starts-with' search on address1
2592
          required: false
2593
          type: string
2594
        - name: address2
2595
          in: query
2596
          description: Case insensitive 'starts-with' search on address2
2597
          required: false
2598
          type: string
2599
        - name: address3
2600
          in: query
2601
          description: Case insensitive 'starts-with' search on address3
2602
          required: false
2603
          type: string
2604
        - name: postal_code
2605
          in: query
2606
          description: Case insensitive 'starts-with' search on postal code
2607
          required: false
2608
          type: string
2609
        - name: city
2610
          in: query
2611
          description: Case insensitive 'starts-with' search on city
2612
          required: false
2613
          type: string
2614
        - name: state
2615
          in: query
2616
          description: Case insensitive 'starts-with' search on state
2617
          required: false
2618
          type: string
2619
        - name: country
2620
          in: query
2621
          description: Case insensitive 'starts_with' search on country
2622
          required: false
2623
          type: string
2624
        - name: phone
2625
          in: query
2626
          description: Case insensitive 'starts_with' search on phone number
2627
          required: false
2628
          type: string
2629
        - name: fax
2630
          in: query
2631
          description: Case insensitive 'starts_with' search on fax number
2632
          required: false
2633
          type: string
2634
        - name: email
2635
          in: query
2636
          description: Case insensitive 'starts_with' search on email address
2637
          required: false
2638
          type: string
2639
        - name: reply_to_email
2640
          in: query
2641
          description: Case insensitive 'starts_with' search on Reply-To email address
2642
          required: false
2643
          type: string
2644
        - name: return_path_email
2645
          in: query
2646
          description: Case insensitive 'starts_with' search on Return-Path email address
2647
          required: false
2648
          type: string
2649
        - name: url
2650
          in: query
2651
          description: Case insensitive 'starts_with' search on website URL
2652
          required: false
2653
          type: string
2654
        - name: ip
2655
          in: query
2656
          description: Case insensitive 'starts_with' search on IP address
2657
          required: false
2658
          type: string
2659
        - name: notes
2660
          in: query
2661
          description: Case insensitive 'starts_with' search on notes
2662
          required: false
2663
          type: string
2664
        - name: opac_info
2665
          in: query
2666
          description: Case insensitive 'starts-with' search on OPAC info
2667
          required: false
2668
          type: string
2669
        - $ref: '#/parameters/match'
2670
        - $ref: '#/parameters/order_by'
2671
        - $ref: '#/parameters/page'
2672
        - $ref: '#/parameters/per_page'
2673
        - $ref: '#/parameters/q_param'
2674
        - $ref: '#/parameters/q_body'
2675
        - $ref: '#/parameters/q_header'
2676
      produces:
2677
        - application/json
2678
      responses:
2679
        '200':
2680
          description: A list of libraries
2681
          schema:
2682
            type: array
2683
            items:
2684
              $ref: '#/definitions/library'
2685
        '500':
2686
          description: |
2687
            Internal server error. Possible `error_code` attribute values:
2688
2689
            * `internal_server_error`
2690
          schema:
2691
            $ref: '#/definitions/error'
2692
        '503':
2693
          description: Under maintenance
2694
          schema:
2695
            $ref: '#/definitions/error'
2696
      x-koha-authorization:
2697
        permissions:
2698
          catalogue: '1'
2699
      x-koha-embed:
2700
        - smtp_server
2701
    post:
2702
      x-mojo-to: Libraries#add
2703
      operationId: addLibrary
2704
      tags:
2705
        - libraries
2706
      summary: Add library
2707
      parameters:
2708
        - name: body
2709
          in: body
2710
          description: A JSON object containing informations about the new library
2711
          required: true
2712
          schema:
2713
            $ref: '#/definitions/library'
2714
      produces:
2715
        - application/json
2716
      responses:
2717
        '201':
2718
          description: Library added
2719
          schema:
2720
            $ref: '#/definitions/library'
2721
        '400':
2722
          description: Bad request
2723
          schema:
2724
            $ref: '#/definitions/error'
2725
        '401':
2726
          description: Authentication required
2727
          schema:
2728
            $ref: '#/definitions/error'
2729
        '403':
2730
          description: Access forbidden
2731
          schema:
2732
            $ref: '#/definitions/error'
2733
        '409':
2734
          description: Conflict in creating resource
2735
          schema:
2736
            $ref: '#/definitions/error'
2737
        '500':
2738
          description: |
2739
            Internal server error. Possible `error_code` attribute values:
2740
2741
            * `internal_server_error`
2742
          schema:
2743
            $ref: '#/definitions/error'
2744
        '503':
2745
          description: Under maintenance
2746
          schema:
2747
            $ref: '#/definitions/error'
2748
      x-koha-authorization:
2749
        permissions:
2750
          parameters: manage_libraries
2751
  '/libraries/{library_id}':
2752
    get:
2753
      x-mojo-to: Libraries#get
2754
      operationId: getLibrary
2755
      tags:
2756
        - libraries
2757
      summary: Get library
2758
      parameters:
2759
        - $ref: '#/parameters/library_id_pp'
2760
      produces:
2761
        - application/json
2762
      responses:
2763
        '200':
2764
          description: A library
2765
          schema:
2766
            $ref: '#/definitions/library'
2767
        '404':
2768
          description: Library not found
2769
          schema:
2770
            $ref: '#/definitions/error'
2771
      x-koha-authorization:
2772
        permissions:
2773
          catalogue: '1'
2774
      x-koha-embed:
2775
        - smtp_server
2776
    put:
2777
      x-mojo-to: Libraries#update
2778
      operationId: updateLibrary
2779
      tags:
2780
        - libraries
2781
      summary: Update library
2782
      parameters:
2783
        - $ref: '#/parameters/library_id_pp'
2784
        - name: body
2785
          in: body
2786
          description: A JSON object containing information on the library
2787
          required: true
2788
          schema:
2789
            $ref: '#/definitions/library'
2790
      consumes:
2791
        - application/json
2792
      produces:
2793
        - application/json
2794
      responses:
2795
        '200':
2796
          description: A library
2797
          schema:
2798
            $ref: '#/definitions/library'
2799
        '400':
2800
          description: Bad request
2801
          schema:
2802
            $ref: '#/definitions/error'
2803
        '401':
2804
          description: Authentication required
2805
          schema:
2806
            $ref: '#/definitions/error'
2807
        '403':
2808
          description: Access forbidden
2809
          schema:
2810
            $ref: '#/definitions/error'
2811
        '404':
2812
          description: Library not found
2813
          schema:
2814
            $ref: '#/definitions/error'
2815
        '500':
2816
          description: |
2817
            Internal server error. Possible `error_code` attribute values:
2818
2819
            * `internal_server_error`
2820
          schema:
2821
            $ref: '#/definitions/error'
2822
        '503':
2823
          description: Under maintenance
2824
          schema:
2825
            $ref: '#/definitions/error'
2826
      x-koha-authorization:
2827
        permissions:
2828
          parameters: manage_libraries
2829
    delete:
2830
      x-mojo-to: Libraries#delete
2831
      operationId: deleteLibrary
2832
      tags:
2833
        - libraries
2834
      summary: Delete library
2835
      parameters:
2836
        - $ref: '#/parameters/library_id_pp'
2837
      produces:
2838
        - application/json
2839
      responses:
2840
        '204':
2841
          description: Library deleted
2842
          schema:
2843
            type: string
2844
        '401':
2845
          description: Authentication required
2846
          schema:
2847
            $ref: '#/definitions/error'
2848
        '403':
2849
          description: Access forbidden
2850
          schema:
2851
            $ref: '#/definitions/error'
2852
        '404':
2853
          description: Library not found
2854
          schema:
2855
            $ref: '#/definitions/error'
2856
        '500':
2857
          description: |
2858
            Internal server error. Possible `error_code` attribute values:
2859
2860
            * `internal_server_error`
2861
          schema:
2862
            $ref: '#/definitions/error'
2863
        '503':
2864
          description: Under maintenance
2865
          schema:
2866
            $ref: '#/definitions/error'
2867
      x-koha-authorization:
2868
        permissions:
2869
          parameters: manage_libraries
2870
  /transfer_limits:
2871
    get:
2872
      x-mojo-to: TransferLimits#list
2873
      operationId: listTransferLimits
2874
      description: This resource returns a list of existing transfer limits.
2875
      summary: List transfer limits
2876
      tags:
2877
        - transfer
2878
      parameters:
2879
        - name: to_library_id
2880
          in: query
2881
          description: Search on to_library_id
2882
          required: false
2883
          type: string
2884
        - name: from_library_id
2885
          in: query
2886
          description: Search on from_library_id
2887
          required: false
2888
          type: string
2889
        - name: item_type
2890
          in: query
2891
          description: Search on item_type
2892
          required: false
2893
          type: string
2894
        - name: collection_code
2895
          in: query
2896
          description: Search on collection_code
2897
          required: false
2898
          type: string
2899
        - $ref: '#/parameters/match'
2900
        - $ref: '#/parameters/order_by'
2901
        - $ref: '#/parameters/page'
2902
        - $ref: '#/parameters/per_page'
2903
        - $ref: '#/parameters/q_param'
2904
        - $ref: '#/parameters/q_body'
2905
        - $ref: '#/parameters/q_header'
2906
      produces:
2907
        - application/json
2908
      responses:
2909
        '200':
2910
          description: A list of transfer limits
2911
          schema:
2912
            type: array
2913
            items:
2914
              $ref: '#/definitions/transfer_limit'
2915
        '500':
2916
          description: |
2917
            Internal server error. Possible `error_code` attribute values:
2918
2919
            * `internal_server_error`
2920
          schema:
2921
            $ref: '#/definitions/error'
2922
        '503':
2923
          description: Under maintenance
2924
          schema:
2925
            $ref: '#/definitions/error'
2926
      x-koha-authorization:
2927
        permissions:
2928
          parameters: manage_transfers
2929
    post:
2930
      x-mojo-to: TransferLimits#add
2931
      operationId: addTransferLimit
2932
      description: This resource accepts a new transfer limit and creates it if it does not already exist.
2933
      tags:
2934
        - transfer
2935
      summary: Add a transfer limit
2936
      parameters:
2937
        - name: body
2938
          in: body
2939
          description: A JSON object containing information about a new transfer limit
2940
          required: true
2941
          schema:
2942
            $ref: '#/definitions/transfer_limit'
2943
      produces:
2944
        - application/json
2945
      responses:
2946
        '201':
2947
          description: Transfer limit added
2948
          schema:
2949
            $ref: '#/definitions/transfer_limit'
2950
        '400':
2951
          description: Bad request
2952
          schema:
2953
            $ref: '#/definitions/error'
2954
        '401':
2955
          description: Authentication required
2956
          schema:
2957
            $ref: '#/definitions/error'
2958
        '403':
2959
          description: Access forbidden
2960
          schema:
2961
            $ref: '#/definitions/error'
2962
        '409':
2963
          description: Conflict in creating resource
2964
          schema:
2965
            $ref: '#/definitions/error'
2966
        '500':
2967
          description: |
2968
            Internal server error. Possible `error_code` attribute values:
2969
2970
            * `internal_server_error`
2971
          schema:
2972
            $ref: '#/definitions/error'
2973
        '503':
2974
          description: Under maintenance
2975
          schema:
2976
            $ref: '#/definitions/error'
2977
      x-koha-authorization:
2978
        permissions:
2979
          parameters: manage_transfers
2980
  '/transfer_limits/{limit_id}':
2981
    delete:
2982
      x-mojo-to: TransferLimits#delete
2983
      operationId: deleteTransferLimit
2984
      description: This resource deletes a transfer limit for the given limit id
2985
      tags:
2986
        - transfer
2987
      summary: Delete transfer limit
2988
      parameters:
2989
        - $ref: '#/parameters/transfer_limit_id_pp'
2990
      produces:
2991
        - application/json
2992
      responses:
2993
        '204':
2994
          description: Transfer limit deleted
2995
          schema:
2996
            type: string
2997
        '401':
2998
          description: Authentication required
2999
          schema:
3000
            $ref: '#/definitions/error'
3001
        '403':
3002
          description: Access forbidden
3003
          schema:
3004
            $ref: '#/definitions/error'
3005
        '404':
3006
          description: Library not found
3007
          schema:
3008
            $ref: '#/definitions/error'
3009
        '500':
3010
          description: |
3011
            Internal server error. Possible `error_code` attribute values:
3012
3013
            * `internal_server_error`
3014
          schema:
3015
            $ref: '#/definitions/error'
3016
        '503':
3017
          description: Under maintenance
3018
          schema:
3019
            $ref: '#/definitions/error'
3020
      x-koha-authorization:
3021
        permissions:
3022
          parameters: manage_transfers
3023
  /transfer_limits/batch:
3024
    post:
3025
      x-mojo-to: TransferLimits#batch_add
3026
      operationId: batchAddTransferLimits
3027
      description: |
3028
3029
        This resource batch creates new transfer limits based on the given data.
3030
        For example, if the paramters `to_library_id: 'BranchA'` and `item_type: 'BOOK'` are passed in new transfer limits for `BOOK`s will be created, with one transfer limit each for all the branches defined in Koha. Given 4 branches, 3 limits would be created:
3031
        * to_library_id: 'BranchA', from_library_id: 'BranchB', item_type: 'BOOK' * to_library_id: 'BranchA', from_library_id: 'BranchC', item_type: 'BOOK' * to_library_id: 'BranchA', from_library_id: 'BranchD', item_type: 'BOOK'
3032
3033
        The body of the query would look like
3034
        ```
3035
        {
3036
            'to_library_id': 'BranchA',
3037
            'item_type': 'BOOK'
3038
3039
        }
3040
        ```
3041
        As another example, imagine we have an itemtype that is never supposed to be transferred to another library. If we call that itemtype `LOCAL_ONLY` we would need to just pass `item_type: 'LOCAL_ONLY'`, which would create transfer limits for all libraries, meaning those items would never be allowed to transfer to another library. The body of the query would look like
3042
        ```
3043
        {
3044
            'item_type': 'LOCAL_ONLY'
3045
        }
3046
        ```
3047
      tags:
3048
        - transfer
3049
      summary: Batch add transfer limits
3050
      parameters:
3051
        - name: body
3052
          in: body
3053
          description: A JSON object containing information about new transfer limits.
3054
          required: true
3055
          schema:
3056
            type: object
3057
            properties:
3058
              to_library_id:
3059
                type: string
3060
                description: Internal library id for which library the item is going to
3061
              from_library_id:
3062
                type: string
3063
                description: Internal library id for which library the item is coming from
3064
              item_type:
3065
                type:
3066
                  - string
3067
                  - 'null'
3068
                description: Itemtype defining the type for this limi
3069
              collection_code:
3070
                type:
3071
                  - string
3072
                  - 'null'
3073
                description: Authorized value for the collection code associated with this limit
3074
            additionalProperties: false
3075
      produces:
3076
        - application/json
3077
      responses:
3078
        '201':
3079
          description: A list of transfer limits
3080
          schema:
3081
            type: array
3082
            items:
3083
              $ref: '#/definitions/transfer_limit'
3084
        '500':
3085
          description: |
3086
            Internal server error. Possible `error_code` attribute values:
3087
3088
            * `internal_server_error`
3089
          schema:
3090
            $ref: '#/definitions/error'
3091
        '503':
3092
          description: Under maintenance
3093
          schema:
3094
            $ref: '#/definitions/error'
3095
      x-koha-authorization:
3096
        permissions:
3097
          parameters: manage_transfers
3098
    delete:
3099
      x-mojo-to: TransferLimits#batch_delete
3100
      operationId: batchDeleteTransferLimits
3101
      description: 'This endpoint works just like [the POST version](#op-post-transfer_limits-batch), except it deletes transfer in batch rather than creating them.'
3102
      tags:
3103
        - transfer
3104
      summary: Batch delete transfer limits
3105
      parameters:
3106
        - name: body
3107
          in: body
3108
          description: A JSON object containing information about new transfer limits.
3109
          required: true
3110
          schema:
3111
            type: object
3112
            properties:
3113
              to_library_id:
3114
                type: string
3115
                description: Internal library id for which library the item is going to
3116
              from_library_id:
3117
                type: string
3118
                description: Internal library id for which library the item is coming from
3119
              item_type:
3120
                type:
3121
                  - string
3122
                  - 'null'
3123
                description: Itemtype defining the type for this limi
3124
              collection_code:
3125
                type:
3126
                  - string
3127
                  - 'null'
3128
                description: Authorized value for the collection code associated with this limit
3129
            additionalProperties: false
3130
      produces:
3131
        - application/json
3132
      responses:
3133
        '204':
3134
          description: Transfer limits deleted
3135
          schema:
3136
            type: string
3137
        '401':
3138
          description: Authentication required
3139
          schema:
3140
            $ref: '#/definitions/error'
3141
        '403':
3142
          description: Access forbidden
3143
          schema:
3144
            $ref: '#/definitions/error'
3145
        '404':
3146
          description: Library not found
3147
          schema:
3148
            $ref: '#/definitions/error'
3149
        '500':
3150
          description: |
3151
            Internal server error. Possible `error_code` attribute values:
3152
3153
            * `internal_server_error`
3154
          schema:
3155
            $ref: '#/definitions/error'
3156
        '503':
3157
          description: Under maintenance
3158
          schema:
3159
            $ref: '#/definitions/error'
3160
      x-koha-authorization:
3161
        permissions:
3162
          parameters: manage_transfers
3163
  '/checkouts/{checkout_id}/allows_renewal':
3164
    get:
3165
      x-mojo-to: Checkouts#allows_renewal
3166
      operationId: allows_renewalCheckout
3167
      tags:
3168
        - checkouts
3169
      summary: Get renewability for a checkout
3170
      parameters:
3171
        - $ref: '#/parameters/checkout_id_pp'
3172
      produces:
3173
        - application/json
3174
      responses:
3175
        '200':
3176
          description: Checkout renewability information
3177
          schema:
3178
            $ref: '#/definitions/allows_renewal'
3179
        '403':
3180
          description: Forbidden
3181
          schema:
3182
            $ref: '#/definitions/error'
3183
        '404':
3184
          description: Checkout not found
3185
          schema:
3186
            $ref: '#/definitions/error'
3187
        '500':
3188
          description: |
3189
            Internal server error. Possible `error_code` attribute values:
3190
3191
            * `internal_server_error`
3192
          schema:
3193
            $ref: '#/definitions/error'
3194
        '503':
3195
          description: Under maintenance
3196
          schema:
3197
            $ref: '#/definitions/error'
3198
      x-koha-authorization:
3199
        permissions:
3200
          circulate: circulate_remaining_permissions
3201
  /advanced_editor/macros:
3202
    get:
3203
      x-mojo-to: AdvancedEditorMacro#list
3204
      operationId: listMacro
3205
      tags:
3206
        - macros
3207
      summary: List advanced editor macros
3208
      produces:
3209
        - application/json
3210
      parameters:
3211
        - name: name
3212
          in: query
3213
          description: Case insensative search on macro name
3214
          required: false
3215
          type: string
3216
        - name: macro_text
3217
          in: query
3218
          description: Case insensative search on macro text
3219
          required: false
3220
          type: string
3221
        - name: patron_id
3222
          in: query
3223
          description: Search on internal patron_id
3224
          required: false
3225
          type: string
3226
        - name: shared
3227
          in: query
3228
          description: Search on shared macros
3229
          required: false
3230
          type: string
3231
        - $ref: '#/parameters/match'
3232
        - $ref: '#/parameters/order_by'
3233
        - $ref: '#/parameters/page'
3234
        - $ref: '#/parameters/per_page'
3235
        - $ref: '#/parameters/q_param'
3236
        - $ref: '#/parameters/q_body'
3237
        - $ref: '#/parameters/q_header'
3238
      responses:
3239
        '200':
3240
          description: A list of macros
3241
          schema:
3242
            type: array
3243
            items:
3244
              $ref: '#/definitions/advancededitormacro'
3245
        '403':
3246
          description: Access forbidden
3247
          schema:
3248
            $ref: '#/definitions/error'
3249
        '500':
3250
          description: |
3251
            Internal server error. Possible `error_code` attribute values:
3252
3253
            * `internal_server_error`
3254
          schema:
3255
            $ref: '#/definitions/error'
3256
        '503':
3257
          description: Under maintenance
3258
          schema:
3259
            $ref: '#/definitions/error'
3260
      x-koha-authorization:
3261
        permissions:
3262
          editcatalogue: advanced_editor
3263
    post:
3264
      x-mojo-to: AdvancedEditorMacro#add
3265
      operationId: addAdvancedEditorMacro
3266
      tags:
3267
        - macros
3268
      summary: Add advanced editor macros
3269
      parameters:
3270
        - name: body
3271
          in: body
3272
          description: A JSON object containing informations about the new macro
3273
          required: true
3274
          schema:
3275
            $ref: '#/definitions/advancededitormacro'
3276
      produces:
3277
        - application/json
3278
      responses:
3279
        '201':
3280
          description: Macro added
3281
          schema:
3282
            $ref: '#/definitions/advancededitormacro'
3283
        '401':
3284
          description: Authentication required
3285
          schema:
3286
            $ref: '#/definitions/error'
3287
        '403':
3288
          description: Access forbidden
3289
          schema:
3290
            $ref: '#/definitions/error'
3291
        '500':
3292
          description: Internal error
3293
          schema:
3294
            $ref: '#/definitions/error'
3295
        '503':
3296
          description: Under maintenance
3297
          schema:
3298
            $ref: '#/definitions/error'
3299
      x-koha-authorization:
3300
        permissions:
3301
          editcatalogue: advanced_editor
3302
  '/advanced_editor/macros/{advancededitormacro_id}':
3303
    get:
3304
      x-mojo-to: AdvancedEditorMacro#get
3305
      operationId: getAdvancedEditorMacro
3306
      tags:
3307
        - macros
3308
      summary: Get advanced editor macro
3309
      parameters:
3310
        - $ref: '#/parameters/advancededitormacro_id_pp'
3311
      produces:
3312
        - application/json
3313
      responses:
3314
        '200':
3315
          description: A macro
3316
          schema:
3317
            $ref: '#/definitions/advancededitormacro'
3318
        '403':
3319
          description: Access forbidden
3320
          schema:
3321
            $ref: '#/definitions/error'
3322
        '404':
3323
          description: AdvancedEditorMacro not found
3324
          schema:
3325
            $ref: '#/definitions/error'
3326
        '500':
3327
          description: Internal error
3328
          schema:
3329
            $ref: '#/definitions/error'
3330
        '503':
3331
          description: Under maintenance
3332
          schema:
3333
            $ref: '#/definitions/error'
3334
      x-koha-authorization:
3335
        permissions:
3336
          editcatalogue: advanced_editor
3337
    put:
3338
      x-mojo-to: AdvancedEditorMacro#update
3339
      operationId: updateAdvancedEditorMacro
3340
      tags:
3341
        - macros
3342
      summary: Update advanced editor macro
3343
      parameters:
3344
        - $ref: '#/parameters/advancededitormacro_id_pp'
3345
        - name: body
3346
          in: body
3347
          description: An advanced editor macro object
3348
          required: true
3349
          schema:
3350
            $ref: '#/definitions/advancededitormacro'
3351
      produces:
3352
        - application/json
3353
      responses:
3354
        '200':
3355
          description: An advanced editor macro
3356
          schema:
3357
            $ref: '#/definitions/advancededitormacro'
3358
        '401':
3359
          description: Authentication required
3360
          schema:
3361
            $ref: '#/definitions/error'
3362
        '403':
3363
          description: Access forbidden
3364
          schema:
3365
            $ref: '#/definitions/error'
3366
        '404':
3367
          description: Macro not found
3368
          schema:
3369
            $ref: '#/definitions/error'
3370
        '500':
3371
          description: Internal error
3372
          schema:
3373
            $ref: '#/definitions/error'
3374
        '503':
3375
          description: Under maintenance
3376
          schema:
3377
            $ref: '#/definitions/error'
3378
      x-koha-authorization:
3379
        permissions:
3380
          editcatalogue: advanced_editor
3381
    delete:
3382
      x-mojo-to: AdvancedEditorMacro#delete
3383
      operationId: deleteAdvancedEditorMacro
3384
      tags:
3385
        - macros
3386
      summary: Delete advanced editor macro
3387
      parameters:
3388
        - $ref: '#/parameters/advancededitormacro_id_pp'
3389
      produces:
3390
        - application/json
3391
      responses:
3392
        '204':
3393
          description: Advanced editor macro deleted
3394
          schema:
3395
            type: string
3396
        '401':
3397
          description: Authentication required
3398
          schema:
3399
            $ref: '#/definitions/error'
3400
        '403':
3401
          description: Access forbidden
3402
          schema:
3403
            $ref: '#/definitions/error'
3404
        '404':
3405
          description: Macro not found
3406
          schema:
3407
            $ref: '#/definitions/error'
3408
        '500':
3409
          description: Internal error
3410
          schema:
3411
            $ref: '#/definitions/error'
3412
        '503':
3413
          description: Under maintenance
3414
          schema:
3415
            $ref: '#/definitions/error'
3416
      x-koha-authorization:
3417
        permissions:
3418
          editcatalogue: advanced_editor
3419
  /advanced_editor/macros/shared:
3420
    post:
3421
      x-mojo-to: AdvancedEditorMacro#add_shared
3422
      operationId: addsharedAdvancedEditorMacro
3423
      tags:
3424
        - macros
3425
      summary: Add shared advanced editor macros
3426
      parameters:
3427
        - name: body
3428
          in: body
3429
          description: A JSON object containing informations about the new macro
3430
          required: true
3431
          schema:
3432
            $ref: '#/definitions/advancededitormacro'
3433
      produces:
3434
        - application/json
3435
      responses:
3436
        '201':
3437
          description: Macro added
3438
          schema:
3439
            $ref: '#/definitions/advancededitormacro'
3440
        '401':
3441
          description: Authentication required
3442
          schema:
3443
            $ref: '#/definitions/error'
3444
        '403':
3445
          description: Access forbidden
3446
          schema:
3447
            $ref: '#/definitions/error'
3448
        '500':
3449
          description: Internal error
3450
          schema:
3451
            $ref: '#/definitions/error'
3452
        '503':
3453
          description: Under maintenance
3454
          schema:
3455
            $ref: '#/definitions/error'
3456
      x-koha-authorization:
3457
        permissions:
3458
          editcatalogue:
3459
            advanced_editor: 1
3460
            create_shared_macros: 1
3461
  '/advanced_editor/macros/shared/{advancededitormacro_id}':
3462
    get:
3463
      x-mojo-to: AdvancedEditorMacro#get_shared
3464
      operationId: getsharedAdvancedEditorMacro
3465
      tags:
3466
        - macros
3467
      summary: Get shared advanced editor macro
3468
      parameters:
3469
        - $ref: '#/parameters/advancededitormacro_id_pp'
3470
      produces:
3471
        - application/json
3472
      responses:
3473
        '200':
3474
          description: A macro
3475
          schema:
3476
            $ref: '#/definitions/advancededitormacro'
3477
        '403':
3478
          description: Access forbidden
3479
          schema:
3480
            $ref: '#/definitions/error'
3481
        '404':
3482
          description: AdvancedEditorMacro not found
3483
          schema:
3484
            $ref: '#/definitions/error'
3485
        '500':
3486
          description: Internal error
3487
          schema:
3488
            $ref: '#/definitions/error'
3489
        '503':
3490
          description: Under maintenance
3491
          schema:
3492
            $ref: '#/definitions/error'
3493
      x-koha-authorization:
3494
        permissions:
3495
          editcatalogue: advanced_editor
3496
    put:
3497
      x-mojo-to: AdvancedEditorMacro#update_shared
3498
      operationId: updatesharedAdvancedEditorMacro
3499
      tags:
3500
        - macros
3501
      summary: Update shared advanced editor macro
3502
      parameters:
3503
        - $ref: '#/parameters/advancededitormacro_id_pp'
3504
        - name: body
3505
          in: body
3506
          description: An advanced editor macro object
3507
          required: true
3508
          schema:
3509
            $ref: '#/definitions/advancededitormacro'
3510
      produces:
3511
        - application/json
3512
      responses:
3513
        '200':
3514
          description: An advanced editor macro
3515
          schema:
3516
            $ref: '#/definitions/advancededitormacro'
3517
        '401':
3518
          description: Authentication required
3519
          schema:
3520
            $ref: '#/definitions/error'
3521
        '403':
3522
          description: Access forbidden
3523
          schema:
3524
            $ref: '#/definitions/error'
3525
        '404':
3526
          description: Macro not found
3527
          schema:
3528
            $ref: '#/definitions/error'
3529
        '500':
3530
          description: Internal error
3531
          schema:
3532
            $ref: '#/definitions/error'
3533
        '503':
3534
          description: Under maintenance
3535
          schema:
3536
            $ref: '#/definitions/error'
3537
      x-koha-authorization:
3538
        permissions:
3539
          editcatalogue:
3540
            advanced_editor: 1
3541
            create_shared_macros: 1
3542
    delete:
3543
      x-mojo-to: AdvancedEditorMacro#delete_shared
3544
      operationId: deletesharedAdvancedEditorMacro
3545
      tags:
3546
        - macros
3547
      summary: Delete shared advanced editor macro
3548
      parameters:
3549
        - $ref: '#/parameters/advancededitormacro_id_pp'
3550
      produces:
3551
        - application/json
3552
      responses:
3553
        '204':
3554
          description: Advanced editor macro deleted
3555
          schema:
3556
            type: string
3557
        '401':
3558
          description: Authentication required
3559
          schema:
3560
            $ref: '#/definitions/error'
3561
        '403':
3562
          description: Access forbidden
3563
          schema:
3564
            $ref: '#/definitions/error'
3565
        '404':
3566
          description: Macro not found
3567
          schema:
3568
            $ref: '#/definitions/error'
3569
        '500':
3570
          description: Internal error
3571
          schema:
3572
            $ref: '#/definitions/error'
3573
        '503':
3574
          description: Under maintenance
3575
          schema:
3576
            $ref: '#/definitions/error'
3577
      x-koha-authorization:
3578
        permissions:
3579
          editcatalogue:
3580
            advanced_editor: 1
3581
            delete_shared_macros: 1
3582
  /patrons:
3583
    get:
3584
      x-mojo-to: Patrons#list
3585
      operationId: listPatrons
3586
      tags:
3587
        - patrons
3588
      summary: List patrons
3589
      produces:
3590
        - application/json
3591
      parameters:
3592
        - name: patron_id
3593
          in: query
3594
          description: Search on patron_id
3595
          required: false
3596
          type: string
3597
        - name: cardnumber
3598
          in: query
3599
          description: Case insensitive search on cardnumber
3600
          required: false
3601
          type: string
3602
        - name: surname
3603
          in: query
3604
          description: Case insensitive search on surname
3605
          required: false
3606
          type: string
3607
        - name: firstname
3608
          in: query
3609
          description: Case insensitive search on firstname
3610
          required: false
3611
          type: string
3612
        - name: title
3613
          in: query
3614
          description: Case insensitive search on title
3615
          required: false
3616
          type: string
3617
        - name: other_name
3618
          in: query
3619
          description: Case insensitive search on othernames
3620
          required: false
3621
          type: string
3622
        - name: initials
3623
          in: query
3624
          description: Case insensitive search on initials
3625
          required: false
3626
          type: string
3627
        - name: street_number
3628
          in: query
3629
          description: Case insensitive search on streetnumber
3630
          required: false
3631
          type: string
3632
        - name: street_type
3633
          in: query
3634
          description: Case insensitive search on streettype
3635
          required: false
3636
          type: string
3637
        - name: address
3638
          in: query
3639
          description: Case insensitive search on address
3640
          required: false
3641
          type: string
3642
        - name: address2
3643
          in: query
3644
          description: Case insensitive search on address2
3645
          required: false
3646
          type: string
3647
        - name: city
3648
          in: query
3649
          description: Case insensitive search on city
3650
          required: false
3651
          type: string
3652
        - name: state
3653
          in: query
3654
          description: Case insensitive search on state
3655
          required: false
3656
          type: string
3657
        - name: postal_code
3658
          in: query
3659
          description: Case insensitive search on zipcode
3660
          required: false
3661
          type: string
3662
        - name: country
3663
          in: query
3664
          description: Case insensitive search on country
3665
          required: false
3666
          type: string
3667
        - name: email
3668
          in: query
3669
          description: Case insensitive search on email
3670
          required: false
3671
          type: string
3672
        - name: phone
3673
          in: query
3674
          description: Case insensitive search on phone
3675
          required: false
3676
          type: string
3677
        - name: mobile
3678
          in: query
3679
          description: Case insensitive search on mobile
3680
          required: false
3681
          type: string
3682
        - name: fax
3683
          in: query
3684
          description: Case insensitive search on fax
3685
          required: false
3686
          type: string
3687
        - name: secondary_email
3688
          in: query
3689
          description: Case insensitive search on secondary_email
3690
          required: false
3691
          type: string
3692
        - name: secondary_phone
3693
          in: query
3694
          description: Case insensitive search on secondary_phone
3695
          required: false
3696
          type: string
3697
        - name: altaddress_street_number
3698
          in: query
3699
          description: Case insensitive search on altaddress_street_number
3700
          required: false
3701
          type: string
3702
        - name: altaddress_street_type
3703
          in: query
3704
          description: Case insensitive search on altaddress_street_type
3705
          required: false
3706
          type: string
3707
        - name: altaddress_address
3708
          in: query
3709
          description: Case insensitive search on altaddress_address
3710
          required: false
3711
          type: string
3712
        - name: altaddress_address2
3713
          in: query
3714
          description: Case insensitive search on altaddress_address2
3715
          required: false
3716
          type: string
3717
        - name: altaddress_city
3718
          in: query
3719
          description: Case insensitive search on altaddress_city
3720
          required: false
3721
          type: string
3722
        - name: altaddress_state
3723
          in: query
3724
          description: Case insensitive search on altaddress_state
3725
          required: false
3726
          type: string
3727
        - name: altaddress_postal_code
3728
          in: query
3729
          description: Case insensitive search on altaddress_postal_code
3730
          required: false
3731
          type: string
3732
        - name: altaddress_country
3733
          in: query
3734
          description: Case insensitive search on altaddress_country
3735
          required: false
3736
          type: string
3737
        - name: altaddress_email
3738
          in: query
3739
          description: Case insensitive search on altaddress_email
3740
          required: false
3741
          type: string
3742
        - name: altaddress_phone
3743
          in: query
3744
          description: Case insensitive search on altaddress_phone
3745
          required: false
3746
          type: string
3747
        - name: date_of_birth
3748
          in: query
3749
          description: Case insensitive search on date_of_birth
3750
          required: false
3751
          type: string
3752
        - name: library_id
3753
          in: query
3754
          description: Case insensitive search on library_id
3755
          required: false
3756
          type: string
3757
        - name: category_id
3758
          in: query
3759
          description: Case insensitive search on category_id
3760
          required: false
3761
          type: string
3762
        - name: date_enrolled
3763
          in: query
3764
          description: Case insensitive search on date_enrolled
3765
          required: false
3766
          type: string
3767
        - name: expiry_date
3768
          in: query
3769
          description: Case insensitive search on expiry_date
3770
          required: false
3771
          type: string
3772
        - name: incorrect_address
3773
          in: query
3774
          description: Search on incorrect_address
3775
          required: false
3776
          type: boolean
3777
        - name: patron_card_lost
3778
          in: query
3779
          description: Search on patron_card_lost
3780
          required: false
3781
          type: boolean
3782
        - name: restricted
3783
          in: query
3784
          description: Filter search by restricted
3785
          required: false
3786
          type: boolean
3787
        - name: guarantor_id
3788
          in: query
3789
          description: Search on guarantor_id
3790
          required: false
3791
          type: string
3792
        - name: staff_notes
3793
          in: query
3794
          description: Case insensitive search on staff_notes
3795
          required: false
3796
          type: string
3797
        - name: relationship_type
3798
          in: query
3799
          description: Case insensitive search on relationship_type
3800
          required: false
3801
          type: string
3802
        - name: gender
3803
          in: query
3804
          description: Case insensitive search on gender
3805
          required: false
3806
          type: string
3807
        - name: userid
3808
          in: query
3809
          description: Case insensitive search on userid
3810
          required: false
3811
          type: string
3812
        - name: opac_notes
3813
          in: query
3814
          description: Case insensitive search on opac_notes
3815
          required: false
3816
          type: string
3817
        - name: altaddress_notes
3818
          in: query
3819
          description: Case insensitive search on altaddress_notes
3820
          required: false
3821
          type: string
3822
        - name: statistics_1
3823
          in: query
3824
          description: Case insensitive search on statistics_1
3825
          required: false
3826
          type: string
3827
        - name: statistics_2
3828
          in: query
3829
          description: Case insensitive search on statistics_2
3830
          required: false
3831
          type: string
3832
        - name: autorenew_checkouts
3833
          in: query
3834
          description: Search on autorenew_checkouts
3835
          required: false
3836
          type: boolean
3837
        - name: altcontact_firstname
3838
          in: query
3839
          description: Case insensitive search on altcontact_firstname
3840
          required: false
3841
          type: string
3842
        - name: altcontact_surname
3843
          in: query
3844
          description: Case insensitive search on altcontact_surname
3845
          required: false
3846
          type: string
3847
        - name: altcontact_address
3848
          in: query
3849
          description: Case insensitive search on altcontact_address
3850
          required: false
3851
          type: string
3852
        - name: altcontact_address2
3853
          in: query
3854
          description: Case insensitive search on altcontact_address2
3855
          required: false
3856
          type: string
3857
        - name: altcontact_city
3858
          in: query
3859
          description: Case insensitive search on altcontact_city
3860
          required: false
3861
          type: string
3862
        - name: altcontact_state
3863
          in: query
3864
          description: Case insensitive search on altcontact_state
3865
          required: false
3866
          type: string
3867
        - name: altcontact_postal_code
3868
          in: query
3869
          description: Case insensitive search on altcontact_postal_code
3870
          required: false
3871
          type: string
3872
        - name: altcontact_country
3873
          in: query
3874
          description: Case insensitive search on altcontact_country
3875
          required: false
3876
          type: string
3877
        - name: altcontact_phone
3878
          in: query
3879
          description: Case insensitive search on altcontact_phone
3880
          required: false
3881
          type: string
3882
        - name: sms_number
3883
          in: query
3884
          description: Case insensitive search on sms_number
3885
          required: false
3886
          type: string
3887
        - name: sms_provider_id
3888
          in: query
3889
          description: Case insensitive search on sms_provider_id
3890
          required: false
3891
          type: string
3892
        - name: privacy
3893
          in: query
3894
          description: Search on privacy
3895
          required: false
3896
          type: string
3897
        - name: privacy_guarantor_checkouts
3898
          in: query
3899
          description: Search on privacy_guarantor_checkouts
3900
          required: false
3901
          type: string
3902
        - name: check_previous_checkout
3903
          in: query
3904
          description: Case insensitive search on check_previous_checkout
3905
          required: false
3906
          type: string
3907
        - name: updated_on
3908
          in: query
3909
          description: Search on updated_on
3910
          required: false
3911
          type: string
3912
        - name: last_seen
3913
          in: query
3914
          description: Case insensitive search on last_seen
3915
          required: false
3916
          type: string
3917
        - name: lang
3918
          in: query
3919
          description: Case insensitive search on lang
3920
          required: false
3921
          type: string
3922
        - name: login_attempts
3923
          in: query
3924
          description: Search on login_attempts
3925
          required: false
3926
          type: string
3927
        - $ref: '#/parameters/match'
3928
        - $ref: '#/parameters/order_by'
3929
        - $ref: '#/parameters/page'
3930
        - $ref: '#/parameters/per_page'
3931
        - $ref: '#/parameters/q_param'
3932
        - $ref: '#/parameters/q_body'
3933
        - $ref: '#/parameters/q_header'
3934
      responses:
3935
        '200':
3936
          description: A list of patrons
3937
          schema:
3938
            type: array
3939
            items:
3940
              $ref: '#/definitions/patron'
3941
        '401':
3942
          description: Authentication required
3943
          schema:
3944
            $ref: '#/definitions/error'
3945
        '403':
3946
          description: Access forbidden
3947
          schema:
3948
            $ref: '#/definitions/error'
3949
        '500':
3950
          description: |
3951
            Internal server error. Possible `error_code` attribute values:
3952
3953
            * `internal_server_error`
3954
          schema:
3955
            $ref: '#/definitions/error'
3956
        '503':
3957
          description: Under maintenance
3958
          schema:
3959
            $ref: '#/definitions/error'
3960
      x-koha-authorization:
3961
        permissions:
3962
          borrowers: '1'
3963
      x-koha-embed:
3964
        - extended_attributes
3965
    post:
3966
      x-mojo-to: Patrons#add
3967
      operationId: addPatron
3968
      tags:
3969
        - patrons
3970
      summary: Add patron
3971
      parameters:
3972
        - name: body
3973
          in: body
3974
          description: A JSON object containing information about the new patron
3975
          required: true
3976
          schema:
3977
            $ref: '#/definitions/patron'
3978
      consumes:
3979
        - application/json
3980
      produces:
3981
        - application/json
3982
      responses:
3983
        '201':
3984
          description: A successfully created patron
3985
          schema:
3986
            items:
3987
              $ref: '#/definitions/patron'
3988
        '400':
3989
          description: Bad parameter
3990
          schema:
3991
            $ref: '#/definitions/error'
3992
        '401':
3993
          description: Authentication required
3994
          schema:
3995
            $ref: '#/definitions/error'
3996
        '403':
3997
          description: Access forbidden
3998
          schema:
3999
            $ref: '#/definitions/error'
4000
        '404':
4001
          description: Resource not found
4002
          schema:
4003
            $ref: '#/definitions/error'
4004
        '409':
4005
          description: Conflict in creating resource
4006
          schema:
4007
            $ref: '#/definitions/error'
4008
        '500':
4009
          description: |
4010
            Internal server error. Possible `error_code` attribute values:
4011
4012
            * `internal_server_error`
4013
          schema:
4014
            $ref: '#/definitions/error'
4015
        '503':
4016
          description: Under maintenance
4017
          schema:
4018
            $ref: '#/definitions/error'
4019
      x-koha-authorization:
4020
        permissions:
4021
          borrowers: edit_borrowers
4022
  '/patrons/{patron_id}':
4023
    get:
4024
      x-mojo-to: Patrons#get
4025
      operationId: getPatron
4026
      tags:
4027
        - patrons
4028
      summary: Get patron
4029
      parameters:
4030
        - $ref: '#/parameters/patron_id_pp'
4031
      produces:
4032
        - application/json
4033
      responses:
4034
        '200':
4035
          description: A patron
4036
          schema:
4037
            $ref: '#/definitions/patron'
4038
        '401':
4039
          description: Authentication required
4040
          schema:
4041
            $ref: '#/definitions/error'
4042
        '403':
4043
          description: Access forbidden
4044
          schema:
4045
            $ref: '#/definitions/error'
4046
        '404':
4047
          description: Patron not found
4048
          schema:
4049
            $ref: '#/definitions/error'
4050
        '500':
4051
          description: |
4052
            Internal server error. Possible `error_code` attribute values:
4053
4054
            * `internal_server_error`
4055
          schema:
4056
            $ref: '#/definitions/error'
4057
        '503':
4058
          description: Under maintenance
4059
          schema:
4060
            $ref: '#/definitions/error'
4061
      x-koha-authorization:
4062
        permissions:
4063
          borrowers: edit_borrowers
4064
      x-koha-embed:
4065
        - extended_attributes
4066
    put:
4067
      x-mojo-to: Patrons#update
4068
      operationId: updatePatron
4069
      tags:
4070
        - patrons
4071
      summary: Update patron
4072
      parameters:
4073
        - $ref: '#/parameters/patron_id_pp'
4074
        - name: body
4075
          in: body
4076
          description: A JSON object containing new information about existing patron
4077
          required: true
4078
          schema:
4079
            $ref: '#/definitions/patron'
4080
      consumes:
4081
        - application/json
4082
      produces:
4083
        - application/json
4084
      responses:
4085
        '200':
4086
          description: A successfully updated patron
4087
          schema:
4088
            items:
4089
              $ref: '#/definitions/patron'
4090
        '400':
4091
          description: Bad parameter
4092
          schema:
4093
            $ref: '#/definitions/error'
4094
        '403':
4095
          description: Access forbidden
4096
          schema:
4097
            $ref: '#/definitions/error'
4098
        '404':
4099
          description: Resource not found
4100
          schema:
4101
            $ref: '#/definitions/error'
4102
        '409':
4103
          description: Conflict in updating resource
4104
          schema:
4105
            $ref: '#/definitions/error'
4106
        '500':
4107
          description: |
4108
            Internal server error. Possible `error_code` attribute values:
4109
4110
            * `internal_server_error`
4111
          schema:
4112
            $ref: '#/definitions/error'
4113
        '503':
4114
          description: Under maintenance
4115
          schema:
4116
            $ref: '#/definitions/error'
4117
      x-koha-authorization:
4118
        permissions:
4119
          borrowers: '1'
4120
    delete:
4121
      x-mojo-to: Patrons#delete
4122
      operationId: deletePatron
4123
      tags:
4124
        - patrons
4125
      summary: Delete patron
4126
      parameters:
4127
        - $ref: '#/parameters/patron_id_pp'
4128
      produces:
4129
        - application/json
4130
      responses:
4131
        '204':
4132
          description: Patron deleted
4133
        '400':
4134
          description: Patron deletion failed
4135
          schema:
4136
            $ref: '#/definitions/error'
4137
        '401':
4138
          description: Authentication required
4139
          schema:
4140
            $ref: '#/definitions/error'
4141
        '403':
4142
          description: Access forbidden
4143
          schema:
4144
            $ref: '#/definitions/error'
4145
        '404':
4146
          description: Patron not found
4147
          schema:
4148
            $ref: '#/definitions/error'
4149
        '409':
4150
          description: |
4151
            Conflict. Possible `error_code` attribute values:
4152
4153
              * `has_checkouts`: The patron has pending checkouts
4154
              * `has_debt`: The patron has pending debts
4155
              * `has_guarantees`: The patron has guarantees
4156
              * `is_anonymous_patron`: The system-wide anonymous patron cannot be deleted
4157
          schema:
4158
            $ref: '#/definitions/error'
4159
        '500':
4160
          description: |
4161
            Internal server error. Possible `error_code` attribute values:
4162
4163
            * `internal_server_error`
4164
          schema:
4165
            $ref: '#/definitions/error'
4166
        '503':
4167
          description: Under maintenance
4168
          schema:
4169
            $ref: '#/definitions/error'
4170
      x-koha-authorization:
4171
        permissions:
4172
          borrowers: delete_borrowers
4173
  '/patrons/{patron_id}/account':
4174
    get:
4175
      x-mojo-to: 'Patrons::Account#get'
4176
      operationId: getPatronAccount
4177
      tags:
4178
        - patrons
4179
      summary: Get account information for a patron
4180
      parameters:
4181
        - $ref: '#/parameters/patron_id_pp'
4182
      produces:
4183
        - application/json
4184
      responses:
4185
        '200':
4186
          description: Patron's account balance
4187
          schema:
4188
            $ref: '#/definitions/patron_balance'
4189
        '401':
4190
          description: Authentication required
4191
          schema:
4192
            $ref: '#/definitions/error'
4193
        '403':
4194
          description: Access forbidden
4195
          schema:
4196
            $ref: '#/definitions/error'
4197
        '404':
4198
          description: Patron not found
4199
          schema:
4200
            $ref: '#/definitions/error'
4201
        '500':
4202
          description: |
4203
            Internal server error. Possible `error_code` attribute values:
4204
4205
            * `internal_server_error`
4206
          schema:
4207
            $ref: '#/definitions/error'
4208
        '503':
4209
          description: Under maintenance
4210
          schema:
4211
            $ref: '#/definitions/error'
4212
      x-koha-authorization:
4213
        permissions:
4214
          borrowers: edit_borrowers
4215
          updatecharges: remaining_permissions
4216
  '/patrons/{patron_id}/account/credits':
4217
    post:
4218
      x-mojo-to: 'Patrons::Account#add_credit'
4219
      operationId: addPatronCredit
4220
      tags:
4221
        - patrons
4222
      summary: Add credit to a patron's account
4223
      parameters:
4224
        - $ref: '#/parameters/patron_id_pp'
4225
        - name: body
4226
          in: body
4227
          description: A JSON object containing credit information
4228
          required: true
4229
          schema:
4230
            $ref: '#/definitions/patron_account_credit'
4231
      produces:
4232
        - application/json
4233
      responses:
4234
        '201':
4235
          description: Credit added
4236
          schema:
4237
            $ref: '#/definitions/account_line'
4238
        '401':
4239
          description: Authentication required
4240
          schema:
4241
            $ref: '#/definitions/error'
4242
        '403':
4243
          description: Access forbidden
4244
          schema:
4245
            $ref: '#/definitions/error'
4246
        '404':
4247
          description: Patron not found
4248
          schema:
4249
            $ref: '#/definitions/error'
4250
        '500':
4251
          description: |
4252
            Internal server error. Possible `error_code` attribute values:
4253
4254
            * `internal_server_error`
4255
          schema:
4256
            $ref: '#/definitions/error'
4257
        '503':
4258
          description: Under maintenance
4259
          schema:
4260
            $ref: '#/definitions/error'
4261
      x-koha-authorization:
4262
        permissions:
4263
          updatecharges: remaining_permissions
4264
  '/patrons/{patron_id}/extended_attributes':
4265
    get:
4266
      x-mojo-to: 'Patrons::Attributes#list_patron_attributes'
4267
      operationId: getPatronAttributes
4268
      tags:
4269
        - patrons
4270
      summary: List extended attributes for a patron
4271
      parameters:
4272
        - $ref: '#/parameters/patron_id_pp'
4273
        - $ref: '#/parameters/match'
4274
        - $ref: '#/parameters/order_by'
4275
        - $ref: '#/parameters/page'
4276
        - $ref: '#/parameters/per_page'
4277
        - $ref: '#/parameters/q_param'
4278
        - $ref: '#/parameters/q_body'
4279
        - $ref: '#/parameters/q_header'
4280
      produces:
4281
        - application/json
4282
      responses:
4283
        '200':
4284
          description: The patron extended attributes
4285
          schema:
4286
            type: array
4287
            items:
4288
              $ref: '#/definitions/patron_extended_attribute'
4289
        '401':
4290
          description: Authentication required
4291
          schema:
4292
            $ref: '#/definitions/error'
4293
        '403':
4294
          description: Access forbidden
4295
          schema:
4296
            $ref: '#/definitions/error'
4297
        '404':
4298
          description: Patron not found
4299
          schema:
4300
            $ref: '#/definitions/error'
4301
        '500':
4302
          description: |
4303
            Internal server error. Possible `error_code` attribute values:
4304
4305
            * `internal_server_error`
4306
          schema:
4307
            $ref: '#/definitions/error'
4308
        '503':
4309
          description: Under maintenance
4310
          schema:
4311
            $ref: '#/definitions/error'
4312
      x-koha-authorization:
4313
        permissions:
4314
          borrowers: edit_borrowers
4315
    post:
4316
      x-mojo-to: 'Patrons::Attributes#add'
4317
      operationId: addPatronAttribute
4318
      tags:
4319
        - patrons
4320
      summary: Add extended attribute for a patron
4321
      parameters:
4322
        - $ref: '#/parameters/patron_id_pp'
4323
        - name: body
4324
          in: body
4325
          description: A JSON representation of the patron extended attribute
4326
          required: true
4327
          schema:
4328
            $ref: '#/definitions/patron_extended_attribute'
4329
      produces:
4330
        - application/json
4331
      responses:
4332
        '201':
4333
          description: A successfully created patron extended attribute
4334
          schema:
4335
            $ref: '#/definitions/patron_extended_attribute'
4336
        '400':
4337
          description: Bad parameter
4338
          schema:
4339
            $ref: '#/definitions/error'
4340
        '401':
4341
          description: Authentication required
4342
          schema:
4343
            $ref: '#/definitions/error'
4344
        '403':
4345
          description: Access forbidden
4346
          schema:
4347
            $ref: '#/definitions/error'
4348
        '404':
4349
          description: Patron not found
4350
          schema:
4351
            $ref: '#/definitions/error'
4352
        '409':
4353
          description: Conflict in creating resource
4354
          schema:
4355
            $ref: '#/definitions/error'
4356
        '500':
4357
          description: |
4358
            Internal server error. Possible `error_code` attribute values:
4359
4360
            * `internal_server_error`
4361
          schema:
4362
            $ref: '#/definitions/error'
4363
        '503':
4364
          description: Under maintenance
4365
          schema:
4366
            $ref: '#/definitions/error'
4367
      x-koha-authorization:
4368
        permissions:
4369
          borrowers: edit_borrowers
4370
    put:
4371
      x-mojo-to: 'Patrons::Attributes#overwrite'
4372
      operationId: overwritePatronAttributes
4373
      tags:
4374
        - patrons
4375
      summary: Overwrite extended attributes for a patron
4376
      parameters:
4377
        - $ref: '#/parameters/patron_id_pp'
4378
        - name: body
4379
          in: body
4380
          description: A JSON representation of the patron extended attribute
4381
          required: true
4382
          schema:
4383
            type: array
4384
            items:
4385
              $ref: '#/definitions/patron_extended_attribute'
4386
      produces:
4387
        - application/json
4388
      responses:
4389
        '200':
4390
          description: The successfully created patron extended attributes
4391
          schema:
4392
            type: array
4393
            items:
4394
              $ref: '#/definitions/patron_extended_attribute'
4395
        '400':
4396
          description: Bad parameters
4397
          schema:
4398
            $ref: '#/definitions/error'
4399
        '401':
4400
          description: Authentication required
4401
          schema:
4402
            $ref: '#/definitions/error'
4403
        '403':
4404
          description: Access forbidden
4405
          schema:
4406
            $ref: '#/definitions/error'
4407
        '404':
4408
          description: Patron not found
4409
          schema:
4410
            $ref: '#/definitions/error'
4411
        '409':
4412
          description: Conflict in creating resource
4413
          schema:
4414
            $ref: '#/definitions/error'
4415
        '500':
4416
          description: |
4417
            Internal server error. Possible `error_code` attribute values:
4418
4419
            * `internal_server_error`
4420
          schema:
4421
            $ref: '#/definitions/error'
4422
        '503':
4423
          description: Under maintenance
4424
          schema:
4425
            $ref: '#/definitions/error'
4426
      x-koha-authorization:
4427
        permissions:
4428
          borrowers: edit_borrowers
4429
  '/patrons/{patron_id}/extended_attributes/{extended_attribute_id}':
4430
    patch:
4431
      x-mojo-to: 'Patrons::Attributes#update'
4432
      operationId: updatePatronAttribute
4433
      tags:
4434
        - patrons
4435
      summary: Update extended attribute
4436
      parameters:
4437
        - $ref: '#/parameters/patron_id_pp'
4438
        - name: extended_attribute_id
4439
          in: path
4440
          description: Internal patron extended attribute identifier
4441
          type: integer
4442
          required: true
4443
        - name: body
4444
          in: body
4445
          description: An object containing the updated values for the patron extended attribute
4446
          required: true
4447
          schema:
4448
            type: object
4449
            properties:
4450
              value:
4451
                description: Extended attribute value
4452
                type: string
4453
            additionalProperties: false
4454
      produces:
4455
        - application/json
4456
      responses:
4457
        '200':
4458
          description: A successfully updated patron extended attribute
4459
          schema:
4460
            $ref: '#/definitions/patron_extended_attribute'
4461
        '400':
4462
          description: Bad parameter
4463
          schema:
4464
            $ref: '#/definitions/error'
4465
        '401':
4466
          description: Authentication required
4467
          schema:
4468
            $ref: '#/definitions/error'
4469
        '403':
4470
          description: Access forbidden
4471
          schema:
4472
            $ref: '#/definitions/error'
4473
        '404':
4474
          description: Object not found
4475
          schema:
4476
            $ref: '#/definitions/error'
4477
        '409':
4478
          description: Conflict in updating resource
4479
          schema:
4480
            $ref: '#/definitions/error'
4481
        '500':
4482
          description: |
4483
            Internal server error. Possible `error_code` attribute values:
4484
4485
            * `internal_server_error`
4486
          schema:
4487
            $ref: '#/definitions/error'
4488
        '503':
4489
          description: Under maintenance
4490
          schema:
4491
            $ref: '#/definitions/error'
4492
      x-koha-authorization:
4493
        permissions:
4494
          borrowers: edit_borrowers
4495
    delete:
4496
      x-mojo-to: 'Patrons::Attributes#delete'
4497
      operationId: deletePatronAttribute
4498
      tags:
4499
        - patrons
4500
      summary: Delete extended attribute
4501
      parameters:
4502
        - $ref: '#/parameters/patron_id_pp'
4503
        - name: extended_attribute_id
4504
          in: path
4505
          description: Internal patron extended attribute identifier
4506
          type: integer
4507
          required: true
4508
      produces:
4509
        - application/json
4510
      responses:
4511
        '204':
4512
          description: Extended patron attribute deleted
4513
        '401':
4514
          description: Authentication required
4515
          schema:
4516
            $ref: '#/definitions/error'
4517
        '403':
4518
          description: Access forbidden
4519
          schema:
4520
            $ref: '#/definitions/error'
4521
        '404':
4522
          description: Patron not found
4523
          schema:
4524
            $ref: '#/definitions/error'
4525
        '500':
4526
          description: |
4527
            Internal server error. Possible `error_code` attribute values:
4528
4529
            * `internal_server_error`
4530
          schema:
4531
            $ref: '#/definitions/error'
4532
        '503':
4533
          description: Under maintenance
4534
          schema:
4535
            $ref: '#/definitions/error'
4536
      x-koha-authorization:
4537
        permissions:
4538
          borrowers: edit_borrowers
4539
  '/patrons/{patron_id}/holds':
4540
    get:
4541
      x-mojo-to: 'Patrons::Holds#list'
4542
      operationId: getPatronHolds
4543
      tags:
4544
        - holds
4545
      summary: List holds for a patron
4546
      parameters:
4547
        - $ref: '#/parameters/patron_id_pp'
4548
        - $ref: '#/parameters/match'
4549
        - $ref: '#/parameters/order_by'
4550
        - $ref: '#/parameters/page'
4551
        - $ref: '#/parameters/per_page'
4552
        - $ref: '#/parameters/q_param'
4553
        - $ref: '#/parameters/q_body'
4554
        - $ref: '#/parameters/q_header'
4555
      produces:
4556
        - application/json
4557
      responses:
4558
        '200':
4559
          description: The patron holds
4560
          schema:
4561
            type: array
4562
            items:
4563
              $ref: '#/definitions/hold'
4564
        '401':
4565
          description: Authentication required
4566
          schema:
4567
            $ref: '#/definitions/error'
4568
        '403':
4569
          description: Access forbidden
4570
          schema:
4571
            $ref: '#/definitions/error'
4572
        '404':
4573
          description: Patron not found
4574
          schema:
4575
            $ref: '#/definitions/error'
4576
        '500':
4577
          description: |
4578
            Internal server error. Possible `error_code` attribute values:
4579
4580
            * `internal_server_error`
4581
          schema:
4582
            $ref: '#/definitions/error'
4583
        '503':
4584
          description: Under maintenance
4585
          schema:
4586
            $ref: '#/definitions/error'
4587
      x-koha-authorization:
4588
        permissions:
4589
          borrowers: edit_borrowers
4590
  '/patrons/{patron_id}/password':
4591
    post:
4592
      x-mojo-to: 'Patrons::Password#set'
4593
      operationId: setPatronPassword
4594
      tags:
4595
        - patrons
4596
      summary: Set password for a patron
4597
      parameters:
4598
        - $ref: '#/parameters/patron_id_pp'
4599
        - name: body
4600
          in: body
4601
          description: A JSON object containing password information
4602
          schema:
4603
            type: object
4604
            properties:
4605
              password:
4606
                description: New password (plain text)
4607
                type: string
4608
              password_2:
4609
                description: Repeated new password (plain text)
4610
                type: string
4611
            required:
4612
              - password
4613
              - password_2
4614
            additionalProperties: false
4615
      produces:
4616
        - application/json
4617
      responses:
4618
        '200':
4619
          description: Password changed
4620
        '400':
4621
          description: Bad request
4622
          schema:
4623
            $ref: '#/definitions/error'
4624
        '401':
4625
          description: Authentication required
4626
          schema:
4627
            $ref: '#/definitions/error'
4628
        '403':
4629
          description: Access forbidden
4630
          schema:
4631
            $ref: '#/definitions/error'
4632
        '404':
4633
          description: Patron not found
4634
          schema:
4635
            $ref: '#/definitions/error'
4636
        '500':
4637
          description: |
4638
            Internal server error. Possible `error_code` attribute values:
4639
4640
            * `internal_server_error`
4641
          schema:
4642
            $ref: '#/definitions/error'
4643
        '503':
4644
          description: Under maintenance
4645
          schema:
4646
            $ref: '#/definitions/error'
4647
      x-koha-authorization:
4648
        permissions:
4649
          borrowers: '1'
4650
  /ill_backends:
4651
    get:
4652
      x-mojo-to: Illbackends#list
4653
      operationId: listIllbackends
4654
      tags:
4655
        - illbackends
4656
      summary: List ILL backends
4657
      parameters: []
4658
      produces:
4659
        - application/json
4660
      responses:
4661
        '200':
4662
          description: A list of ILL backends
4663
          schema:
4664
            $ref: '#/definitions/ill_backends'
4665
        '401':
4666
          description: Authentication required
4667
          schema:
4668
            $ref: '#/definitions/error'
4669
        '403':
4670
          description: Access forbidden
4671
          schema:
4672
            $ref: '#/definitions/error'
4673
        '404':
4674
          description: ILL backends not found
4675
          schema:
4676
            $ref: '#/definitions/error'
4677
        '500':
4678
          description: |
4679
            Internal server error. Possible `error_code` attribute values:
4680
4681
            * `internal_server_error`
4682
          schema:
4683
            $ref: '#/definitions/error'
4684
        '503':
4685
          description: Under maintenance
4686
          schema:
4687
            $ref: '#/definitions/error'
4688
      x-koha-authorization:
4689
        permissions:
4690
          ill: '1'
4691
  '/ill_backends/{ill_backend_id}':
4692
    get:
4693
      x-mojo-to: Illbackends#get
4694
      operationId: getIllbackends
4695
      tags:
4696
        - illbackends
4697
      summary: Get ILL backend
4698
      parameters:
4699
        - name: ill_backend_id
4700
          in: path
4701
          description: ILL backend id/name
4702
          required: true
4703
          type: string
4704
      produces:
4705
        - application/json
4706
      responses:
4707
        '200':
4708
          description: An ILL backends
4709
          schema:
4710
            $ref: '#/definitions/ill_backend'
4711
        '401':
4712
          description: Authentication required
4713
          schema:
4714
            $ref: '#/definitions/error'
4715
        '403':
4716
          description: Access forbidden
4717
          schema:
4718
            $ref: '#/definitions/error'
4719
        '404':
4720
          description: ILL backends not found
4721
          schema:
4722
            $ref: '#/definitions/error'
4723
        '500':
4724
          description: |
4725
            Internal server error. Possible `error_code` attribute values:
4726
4727
            * `internal_server_error`
4728
          schema:
4729
            $ref: '#/definitions/error'
4730
        '503':
4731
          description: Under maintenance
4732
          schema:
4733
            $ref: '#/definitions/error'
4734
      x-koha-authorization:
4735
        permissions:
4736
          ill: '1'
4737
  /illrequests:
4738
    get:
4739
      x-mojo-to: Illrequests#list
4740
      operationId: listIllrequests
4741
      tags:
4742
        - illrequests
4743
      summary: List ILL requests
4744
      parameters:
4745
        - name: embed
4746
          in: query
4747
          description: Additional objects that should be embedded in the response
4748
          required: false
4749
          type: array
4750
          collectionFormat: csv
4751
          items:
4752
            type: string
4753
            enum:
4754
              - patron
4755
              - library
4756
              - capabilities
4757
              - metadata
4758
              - requested_partners
4759
              - comments
4760
              - status_alias
4761
        - name: backend
4762
          in: query
4763
          description: The name of a ILL backend
4764
          required: false
4765
          type: string
4766
        - name: orderid
4767
          in: query
4768
          description: The order ID of a request
4769
          required: false
4770
          type: string
4771
        - name: biblionumber
4772
          in: query
4773
          description: Internal biblio identifier
4774
          required: false
4775
          type: integer
4776
        - name: borrowernumber
4777
          in: query
4778
          description: Internal patron identifier
4779
          required: false
4780
          type: integer
4781
        - name: completed
4782
          in: query
4783
          description: The date the request was considered completed
4784
          required: false
4785
          type: string
4786
        - name: completed_formatted
4787
          in: query
4788
          description: The date the request was considered complete formatted
4789
          required: false
4790
          type: string
4791
        - name: status
4792
          in: query
4793
          description: A full status string e.g. REQREV
4794
          required: false
4795
          type: string
4796
        - name: cost
4797
          in: query
4798
          description: The quoted cost of the request
4799
          required: false
4800
          type: number
4801
        - name: price_paid
4802
          in: query
4803
          description: The final cost of the request
4804
          required: false
4805
          type: number
4806
        - name: medium
4807
          in: query
4808
          description: The medium of the requested item
4809
          required: false
4810
          type: string
4811
        - name: updated
4812
          in: query
4813
          description: The last updated date of the request
4814
          required: false
4815
          type: string
4816
        - name: updated_formatted
4817
          in: query
4818
          description: The last updated date of the request formatted
4819
          required: false
4820
          type: string
4821
        - name: placed
4822
          in: query
4823
          description: The date the request was placed
4824
          required: false
4825
          type: string
4826
        - name: placed_formatted
4827
          in: query
4828
          description: The date the request was placed formatted
4829
          required: false
4830
          type: string
4831
        - name: branchcode
4832
          in: query
4833
          description: Library ID
4834
          required: false
4835
          type: string
4836
      produces:
4837
        - application/json
4838
      responses:
4839
        '200':
4840
          description: A list of ILL requests
4841
        '401':
4842
          description: Authentication required
4843
          schema:
4844
            $ref: '#/definitions/error'
4845
        '403':
4846
          description: Access forbidden
4847
          schema:
4848
            $ref: '#/definitions/error'
4849
        '404':
4850
          description: ILL requests not found
4851
          schema:
4852
            $ref: '#/definitions/error'
4853
        '500':
4854
          description: |
4855
            Internal server error. Possible `error_code` attribute values:
4856
4857
            * `internal_server_error`
4858
          schema:
4859
            $ref: '#/definitions/error'
4860
        '503':
4861
          description: Under maintenance
4862
          schema:
4863
            $ref: '#/definitions/error'
4864
      x-koha-authorization:
4865
        permissions:
4866
          ill: '1'
4867
  /import_batch_profiles:
4868
    get:
4869
      x-mojo-to: ImportBatchProfiles#list
4870
      operationId: listImportBatchProfiles
4871
      tags:
4872
        - batch_import_profiles
4873
      summary: List batch import profiles
4874
      parameters:
4875
        - name: name
4876
          in: query
4877
          description: Search on profile's name
4878
          required: false
4879
          type: string
4880
        - $ref: '#/parameters/match'
4881
        - $ref: '#/parameters/order_by'
4882
        - $ref: '#/parameters/page'
4883
        - $ref: '#/parameters/per_page'
4884
        - $ref: '#/parameters/q_param'
4885
        - $ref: '#/parameters/q_body'
4886
        - $ref: '#/parameters/q_header'
4887
      consumes:
4888
        - application/json
4889
      produces:
4890
        - application/json
4891
      responses:
4892
        '200':
4893
          description: A list of import batch profiles
4894
          schema:
4895
            $ref: '#/definitions/import_batch_profiles'
4896
        '401':
4897
          description: Authentication required
4898
          schema:
4899
            $ref: '#/definitions/error'
4900
        '403':
4901
          description: Access forbidden
4902
          schema:
4903
            $ref: '#/definitions/error'
4904
        '500':
4905
          description: |
4906
            Internal server error. Possible `error_code` attribute values:
4907
4908
            * `internal_server_error`
4909
          schema:
4910
            $ref: '#/definitions/error'
4911
        '503':
4912
          description: Under maintenance
4913
          schema:
4914
            $ref: '#/definitions/error'
4915
      x-koha-authorization:
4916
        permissions:
4917
          tools: stage_marc_import
4918
    post:
4919
      x-mojo-to: ImportBatchProfiles#add
4920
      operationId: addImportBatchProfiles
4921
      tags:
4922
        - batch_import_profiles
4923
      summary: Add batch import profile
4924
      parameters:
4925
        - name: body
4926
          in: body
4927
          description: A JSON object containing a import batch profile
4928
          required: true
4929
          schema:
4930
            type: object
4931
            properties:
4932
              name:
4933
                description: name of this profile
4934
                type: string
4935
              matcher_id:
4936
                description: the id of the match rule used (matchpoints.matcher_id)
4937
                type:
4938
                  - integer
4939
                  - 'null'
4940
              template_id:
4941
                description: the id of the marc modification template
4942
                type:
4943
                  - integer
4944
                  - 'null'
4945
              overlay_action:
4946
                description: how to handle duplicate records
4947
                type:
4948
                  - string
4949
                  - 'null'
4950
              nomatch_action:
4951
                description: how to handle records where no match is found
4952
                type:
4953
                  - string
4954
                  - 'null'
4955
              item_action:
4956
                description: what to do with item records
4957
                type:
4958
                  - string
4959
                  - 'null'
4960
              parse_items:
4961
                description: should items be parsed
4962
                type:
4963
                  - boolean
4964
                  - 'null'
4965
              record_type:
4966
                description: type of record in the batch
4967
                type:
4968
                  - string
4969
                  - 'null'
4970
              encoding:
4971
                description: file encoding
4972
                type:
4973
                  - string
4974
                  - 'null'
4975
              format:
4976
                description: marc format
4977
                type:
4978
                  - string
4979
                  - 'null'
4980
              comments:
4981
                description: any comments added when the file was uploaded
4982
                type:
4983
                  - string
4984
                  - 'null'
4985
            additionalProperties: false
4986
      consumes:
4987
        - application/json
4988
      produces:
4989
        - application/json
4990
      responses:
4991
        '201':
4992
          description: Created Profile
4993
          schema:
4994
            $ref: '#/definitions/import_batch_profile'
4995
        '400':
4996
          description: Missing or wrong parameters
4997
          schema:
4998
            $ref: '#/definitions/error'
4999
        '401':
5000
          description: Authentication required
5001
          schema:
5002
            $ref: '#/definitions/error'
5003
        '403':
5004
          description: Hold not allowed
5005
          schema:
5006
            $ref: '#/definitions/error'
5007
        '404':
5008
          description: Borrower not found
5009
          schema:
5010
            $ref: '#/definitions/error'
5011
        '500':
5012
          description: |
5013
            Internal server error. Possible `error_code` attribute values:
5014
5015
            * `internal_server_error`
5016
          schema:
5017
            $ref: '#/definitions/error'
5018
        '503':
5019
          description: Under maintenance
5020
          schema:
5021
            $ref: '#/definitions/error'
5022
      x-koha-authorization:
5023
        permissions:
5024
          tools: stage_marc_import
5025
  '/import_batch_profiles/{import_batch_profile_id}':
5026
    put:
5027
      x-mojo-to: ImportBatchProfiles#edit
5028
      operationId: editImportBatchProfiles
5029
      tags:
5030
        - batch_import_profiles
5031
      summary: Update batch import profile
5032
      parameters:
5033
        - $ref: '#/parameters/import_batch_profile_id_pp'
5034
        - name: body
5035
          in: body
5036
          description: A JSON object containing a import batch profile
5037
          required: true
5038
          schema:
5039
            type: object
5040
            properties:
5041
              name:
5042
                description: name of this profile
5043
                type: string
5044
              matcher_id:
5045
                description: the id of the match rule used (matchpoints.matcher_id)
5046
                type:
5047
                  - integer
5048
                  - 'null'
5049
              template_id:
5050
                description: the id of the marc modification template
5051
                type:
5052
                  - integer
5053
                  - 'null'
5054
              overlay_action:
5055
                description: how to handle duplicate records
5056
                type:
5057
                  - string
5058
                  - 'null'
5059
              nomatch_action:
5060
                description: how to handle records where no match is found
5061
                type:
5062
                  - string
5063
                  - 'null'
5064
              item_action:
5065
                description: what to do with item records
5066
                type:
5067
                  - string
5068
                  - 'null'
5069
              parse_items:
5070
                description: should items be parsed
5071
                type:
5072
                  - boolean
5073
                  - 'null'
5074
              record_type:
5075
                description: type of record in the batch
5076
                type:
5077
                  - string
5078
                  - 'null'
5079
              encoding:
5080
                description: file encoding
5081
                type:
5082
                  - string
5083
                  - 'null'
5084
              format:
5085
                description: marc format
5086
                type:
5087
                  - string
5088
                  - 'null'
5089
              comments:
5090
                description: any comments added when the file was uploaded
5091
                type:
5092
                  - string
5093
                  - 'null'
5094
            additionalProperties: false
5095
      consumes:
5096
        - application/json
5097
      produces:
5098
        - application/json
5099
      responses:
5100
        '200':
5101
          description: Updated profile
5102
          schema:
5103
            $ref: '#/definitions/import_batch_profile'
5104
        '400':
5105
          description: Missing or wrong parameters
5106
          schema:
5107
            $ref: '#/definitions/error'
5108
        '401':
5109
          description: Authentication required
5110
          schema:
5111
            $ref: '#/definitions/error'
5112
        '403':
5113
          description: Hold not allowed
5114
          schema:
5115
            $ref: '#/definitions/error'
5116
        '404':
5117
          description: Borrower not found
5118
          schema:
5119
            $ref: '#/definitions/error'
5120
        '500':
5121
          description: |
5122
            Internal server error. Possible `error_code` attribute values:
5123
5124
            * `internal_server_error`
5125
          schema:
5126
            $ref: '#/definitions/error'
5127
        '503':
5128
          description: Under maintenance
5129
          schema:
5130
            $ref: '#/definitions/error'
5131
      x-koha-authorization:
5132
        permissions:
5133
          tools: stage_marc_import
5134
    delete:
5135
      x-mojo-to: ImportBatchProfiles#delete
5136
      operationId: deleteImportBatchProfiles
5137
      tags:
5138
        - batch_import_profiles
5139
      summary: Delete batch import profile
5140
      parameters:
5141
        - $ref: '#/parameters/import_batch_profile_id_pp'
5142
      produces:
5143
        - application/json
5144
      responses:
5145
        '204':
5146
          description: Profile deleted
5147
        '401':
5148
          description: Authentication required
5149
          schema:
5150
            $ref: '#/definitions/error'
5151
        '403':
5152
          description: Hold not allowed
5153
          schema:
5154
            $ref: '#/definitions/error'
5155
        '404':
5156
          description: Hold not found
5157
          schema:
5158
            $ref: '#/definitions/error'
5159
        '500':
5160
          description: |
5161
            Internal server error. Possible `error_code` attribute values:
5162
5163
            * `internal_server_error`
5164
          schema:
5165
            $ref: '#/definitions/error'
5166
        '503':
5167
          description: Under maintenance
5168
          schema:
5169
            $ref: '#/definitions/error'
5170
      x-koha-authorization:
5171
        permissions:
5172
          tools: stage_marc_import
5173
  '/rotas/{rota_id}/stages/{stage_id}/position':
5174
    put:
5175
      x-mojo-to: Stage#move
5176
      operationId: moveStage
5177
      summary: Update stage
5178
      tags:
5179
        - rotas
5180
      parameters:
5181
        - name: rota_id
5182
          in: path
5183
          required: true
5184
          description: A rotas ID
5185
          type: integer
5186
        - name: stage_id
5187
          in: path
5188
          required: true
5189
          description: A stages ID
5190
          type: integer
5191
        - name: position
5192
          in: body
5193
          required: true
5194
          description: A stages position in the rota
5195
          schema:
5196
            type: integer
5197
      produces:
5198
        - application/json
5199
      responses:
5200
        '200':
5201
          description: OK
5202
        '400':
5203
          description: Bad request
5204
          schema:
5205
            $ref: '#/definitions/error'
5206
        '401':
5207
          description: Authentication required
5208
          schema:
5209
            $ref: '#/definitions/error'
5210
        '403':
5211
          description: Access forbidden
5212
          schema:
5213
            $ref: '#/definitions/error'
5214
        '404':
5215
          description: Position not found
5216
          schema:
5217
            $ref: '#/definitions/error'
5218
        '500':
5219
          description: |
5220
            Internal server error. Possible `error_code` attribute values:
5221
5222
            * `internal_server_error`
5223
          schema:
5224
            $ref: '#/definitions/error'
5225
        '503':
5226
          description: Under maintenance
5227
          schema:
5228
            $ref: '#/definitions/error'
5229
      x-koha-authorization:
5230
        permissions:
5231
          stockrotation: '1'
5232
  '/public/biblios/{biblio_id}':
5233
    get:
5234
      x-mojo-to: Biblios#get_public
5235
      operationId: getBiblioPublic
5236
      tags:
5237
        - biblios
5238
      summary: Get biblio (public)
5239
      parameters:
5240
        - $ref: '#/parameters/biblio_id_pp'
5241
      produces:
5242
        - application/marcxml+xml
5243
        - application/marc-in-json
5244
        - application/marc
5245
        - text/plain
5246
      responses:
5247
        '200':
5248
          description: A biblio
5249
        '401':
5250
          description: Authentication required
5251
          schema:
5252
            $ref: '#/definitions/error'
5253
        '403':
5254
          description: Access forbidden
5255
          schema:
5256
            $ref: '#/definitions/error'
5257
        '404':
5258
          description: Biblio not found
5259
          schema:
5260
            $ref: '#/definitions/error'
5261
        '406':
5262
          description: Not acceptable
5263
          schema:
5264
            type: array
5265
            description: Accepted content-types
5266
            items:
5267
              type: string
5268
        '500':
5269
          description: |
5270
            Internal server error. Possible `error_code` attribute values:
5271
5272
            * `internal_server_error`
5273
          schema:
5274
            $ref: '#/definitions/error'
5275
        '503':
5276
          description: Under maintenance
5277
          schema:
5278
            $ref: '#/definitions/error'
5279
  '/public/biblios/{biblio_id}/items':
5280
    get:
5281
      x-mojo-to: Biblios#get_items_public
5282
      operationId: getBiblioItemsPublic
5283
      tags:
5284
        - biblios
5285
        - items
5286
      parameters:
5287
        - $ref: '#/parameters/biblio_id_pp'
5288
        - $ref: '#/parameters/match'
5289
        - $ref: '#/parameters/order_by'
5290
        - $ref: '#/parameters/page'
5291
        - $ref: '#/parameters/per_page'
5292
        - $ref: '#/parameters/q_param'
5293
        - $ref: '#/parameters/q_body'
5294
        - $ref: '#/parameters/q_header'
5295
      consumes:
5296
        - application/json
5297
      produces:
5298
        - application/json
5299
      responses:
5300
        '200':
5301
          description: A list of the items attached to the record
5302
          schema:
5303
            type: array
5304
            items:
5305
              $ref: '#/definitions/item'
5306
        '401':
5307
          description: Authentication required
5308
          schema:
5309
            $ref: '#/definitions/error'
5310
        '403':
5311
          description: Access forbidden
5312
          schema:
5313
            $ref: '#/definitions/error'
5314
        '404':
5315
          description: Biblio not found
5316
          schema:
5317
            $ref: '#/definitions/error'
5318
        '406':
5319
          description: Not acceptable
5320
          schema:
5321
            type: array
5322
            description: Accepted content-types
5323
            items:
5324
              type: string
5325
        '500':
5326
          description: |
5327
            Internal server error. Possible `error_code` attribute values:
5328
5329
            * `internal_server_error`
5330
          schema:
5331
            $ref: '#/definitions/error'
5332
        '503':
5333
          description: Under maintenance
5334
          schema:
5335
            $ref: '#/definitions/error'
5336
  /public/libraries:
5337
    get:
5338
      x-mojo-to: Libraries#list
5339
      operationId: listLibrariesPublic
5340
      tags:
5341
        - libraries
5342
      summary: List libraries
5343
      parameters:
5344
        - $ref: '#/parameters/match'
5345
        - $ref: '#/parameters/order_by'
5346
        - $ref: '#/parameters/page'
5347
        - $ref: '#/parameters/per_page'
5348
        - $ref: '#/parameters/q_param'
5349
        - $ref: '#/parameters/q_body'
5350
        - $ref: '#/parameters/q_header'
5351
      produces:
5352
        - application/json
5353
      responses:
5354
        '200':
5355
          description: A list of libraries
5356
          schema:
5357
            type: array
5358
            items:
5359
              $ref: '#/definitions/library'
5360
        '500':
5361
          description: |
5362
            Internal server error. Possible `error_code` attribute values:
5363
5364
            * `internal_server_error`
5365
          schema:
5366
            $ref: '#/definitions/error'
5367
        '503':
5368
          description: Under maintenance
5369
          schema:
5370
            $ref: '#/definitions/error'
5371
  '/public/libraries/{library_id}':
5372
    get:
5373
      x-mojo-to: Libraries#get
5374
      operationId: getLibraryPublic
5375
      tags:
5376
        - libraries
5377
      summary: Get library (public)
5378
      parameters:
5379
        - $ref: '#/parameters/library_id_pp'
5380
      produces:
5381
        - application/json
5382
      responses:
5383
        '200':
5384
          description: A library
5385
        '401':
5386
          description: Authentication required
5387
          schema:
5388
            $ref: '#/definitions/error'
5389
        '403':
5390
          description: Access forbidden
5391
          schema:
5392
            $ref: '#/definitions/error'
5393
        '404':
5394
          description: Library not found
5395
          schema:
5396
            $ref: '#/definitions/error'
5397
        '406':
5398
          description: Not acceptable
5399
          schema:
5400
            type: array
5401
            description: Accepted content-types
5402
            items:
5403
              type: string
5404
        '500':
5405
          description: |
5406
            Internal server error. Possible `error_code` attribute values:
5407
5408
            * `internal_server_error`
5409
          schema:
5410
            $ref: '#/definitions/error'
5411
        '503':
5412
          description: Under maintenance
5413
          schema:
5414
            $ref: '#/definitions/error'
5415
  '/public/patrons/{patron_id}/article_requests/{article_request_id}':
5416
    delete:
5417
      x-mojo-to: ArticleRequests#patron_cancel
5418
      operationId: publicCancelPatronArticleRequest
5419
      tags:
5420
        - article_requests
5421
      summary: Cancel patron's article requests
5422
      parameters:
5423
        - $ref: '#/parameters/patron_id_pp'
5424
        - name: article_request_id
5425
          in: path
5426
          description: Article request identifier
5427
          required: true
5428
          type: integer
5429
        - name: cancellation_reason
5430
          in: query
5431
          description: Article request cancellation reason
5432
          required: false
5433
          type: string
5434
        - name: notes
5435
          in: query
5436
          description: Article request custom cancellation reason
5437
          required: false
5438
          type: string
5439
      produces:
5440
        - application/json
5441
      responses:
5442
        '204':
5443
          description: Patron's article request canceled
5444
        '400':
5445
          description: Bad request
5446
          schema:
5447
            $ref: '#/definitions/error'
5448
        '401':
5449
          description: Authentication required
5450
          schema:
5451
            $ref: '#/definitions/error'
5452
        '403':
5453
          description: Access forbidden
5454
          schema:
5455
            $ref: '#/definitions/error'
5456
        '404':
5457
          description: Patron not found
5458
          schema:
5459
            $ref: '#/definitions/error'
5460
        '500':
5461
          description: |
5462
            Internal server error. Possible `error_code` attribute values:
5463
5464
            * `internal_server_error`
5465
          schema:
5466
            $ref: '#/definitions/error'
5467
        '503':
5468
          description: Under maintenance
5469
          schema:
5470
            $ref: '#/definitions/error'
5471
      x-koha-authorization:
5472
        allow-owner: true
5473
  '/public/patrons/{patron_id}/password':
5474
    post:
5475
      x-mojo-to: 'Patrons::Password#set_public'
5476
      operationId: setPatronPasswordPublic
5477
      tags:
5478
        - patrons
5479
      summary: Set password for a patron (public)
5480
      parameters:
5481
        - $ref: '#/parameters/patron_id_pp'
5482
        - name: body
5483
          in: body
5484
          description: A JSON object containing password information
5485
          schema:
5486
            type: object
5487
            properties:
5488
              password:
5489
                description: New password (plain text)
5490
                type: string
5491
              password_repeated:
5492
                description: Repeated new password (plain text)
5493
                type: string
5494
              old_password:
5495
                description: Patron's original password
5496
                type: string
5497
            required:
5498
              - password
5499
              - password_repeated
5500
              - old_password
5501
            additionalProperties: false
5502
      produces:
5503
        - application/json
5504
      responses:
5505
        '200':
5506
          description: Password changed
5507
        '400':
5508
          description: Bad request
5509
          schema:
5510
            $ref: '#/definitions/error'
5511
        '401':
5512
          description: Authentication required
5513
          schema:
5514
            $ref: '#/definitions/error'
5515
        '403':
5516
          description: Access forbidden
5517
          schema:
5518
            $ref: '#/definitions/error'
5519
        '404':
5520
          description: Patron not found
5521
          schema:
5522
            $ref: '#/definitions/error'
5523
        '500':
5524
          description: |
5525
            Internal server error. Possible `error_code` attribute values:
5526
5527
            * `internal_server_error`
5528
          schema:
5529
            $ref: '#/definitions/error'
5530
        '503':
5531
          description: Under maintenance
5532
          schema:
5533
            $ref: '#/definitions/error'
5534
      x-koha-authorization:
5535
        allow-owner: true
5536
  '/public/patrons/{patron_id}/guarantors/can_see_charges':
5537
    put:
5538
      x-mojo-to: Patrons#guarantors_can_see_charges
5539
      operationId: setPatronGuarantorsCanSeeCharges
5540
      tags:
5541
        - patrons
5542
      summary: Set if guarantors can see charges (public)
5543
      parameters:
5544
        - $ref: '#/parameters/patron_id_pp'
5545
        - name: body
5546
          in: body
5547
          description: A boolean representing if guarantors should be able to see the patron's charges
5548
          required: true
5549
          schema:
5550
            type: object
5551
            properties:
5552
              allowed:
5553
                type: boolean
5554
            additionalProperties: false
5555
      produces:
5556
        - application/json
5557
      responses:
5558
        '200':
5559
          description: Charges view policy for guarantors changed
5560
        '400':
5561
          description: Bad request
5562
          schema:
5563
            $ref: '#/definitions/error'
5564
        '401':
5565
          description: Authentication required
5566
          schema:
5567
            $ref: '#/definitions/error'
5568
        '403':
5569
          description: Access forbidden
5570
          schema:
5571
            $ref: '#/definitions/error'
5572
        '404':
5573
          description: Patron not found
5574
          schema:
5575
            $ref: '#/definitions/error'
5576
        '500':
5577
          description: |
5578
            Internal server error. Possible `error_code` attribute values:
5579
5580
            * `internal_server_error`
5581
          schema:
5582
            $ref: '#/definitions/error'
5583
        '503':
5584
          description: Under maintenance
5585
          schema:
5586
            $ref: '#/definitions/error'
5587
      x-koha-authorization:
5588
        allow-owner: true
5589
  '/public/patrons/{patron_id}/guarantors/can_see_checkouts':
5590
    put:
5591
      x-mojo-to: Patrons#guarantors_can_see_checkouts
5592
      operationId: setPatronGuarantorsCanSeeCheckouts
5593
      tags:
5594
        - patrons
5595
      summary: Set if guarantors can see checkouts
5596
      parameters:
5597
        - $ref: '#/parameters/patron_id_pp'
5598
        - name: body
5599
          in: body
5600
          description: A boolean representing if guarantors should be able to see the patron's checkouts
5601
          required: true
5602
          schema:
5603
            type: object
5604
            properties:
5605
              allowed:
5606
                type: boolean
5607
            additionalProperties: false
5608
      produces:
5609
        - application/json
5610
      responses:
5611
        '200':
5612
          description: Check-out view policy for guarantors changed
5613
        '400':
5614
          description: Bad request
5615
          schema:
5616
            $ref: '#/definitions/error'
5617
        '401':
5618
          description: Authentication required
5619
          schema:
5620
            $ref: '#/definitions/error'
5621
        '403':
5622
          description: Access forbidden
5623
          schema:
5624
            $ref: '#/definitions/error'
5625
        '404':
5626
          description: Patron not found
5627
          schema:
5628
            $ref: '#/definitions/error'
5629
        '500':
5630
          description: |
5631
            Internal server error. Possible `error_code` attribute values:
5632
5633
            * `internal_server_error`
5634
          schema:
5635
            $ref: '#/definitions/error'
5636
        '503':
5637
          description: Under maintenance
5638
          schema:
5639
            $ref: '#/definitions/error'
5640
      x-koha-authorization:
5641
        allow-owner: true
5642
  /quotes:
5643
    get:
5644
      x-mojo-to: Quotes#list
5645
      operationId: listQuotes
5646
      tags:
5647
        - quotes
5648
      summary: List quotes
5649
      produces:
5650
        - application/json
5651
      parameters:
5652
        - name: quote_id
5653
          in: query
5654
          description: Case insensitive search on quote id
5655
          required: false
5656
          type: string
5657
        - name: source
5658
          in: query
5659
          description: Case insensitive search on source
5660
          required: false
5661
          type: string
5662
        - name: text
5663
          in: query
5664
          description: Case insensitive search on text
5665
          required: false
5666
          type: string
5667
        - name: displayed_on
5668
          in: query
5669
          description: Case Insensative search on last displayed date
5670
          required: false
5671
          type: string
5672
        - $ref: '#/parameters/match'
5673
        - $ref: '#/parameters/order_by'
5674
        - $ref: '#/parameters/page'
5675
        - $ref: '#/parameters/per_page'
5676
        - $ref: '#/parameters/q_param'
5677
        - $ref: '#/parameters/q_body'
5678
        - $ref: '#/parameters/q_header'
5679
      responses:
5680
        '200':
5681
          description: A list of quotes
5682
          schema:
5683
            type: array
5684
            items:
5685
              $ref: '#/definitions/quote'
5686
        '403':
5687
          description: Access forbidden
5688
          schema:
5689
            $ref: '#/definitions/error'
5690
        '500':
5691
          description: |
5692
            Internal server error. Possible `error_code` attribute values:
5693
5694
            * `internal_server_error`
5695
          schema:
5696
            $ref: '#/definitions/error'
5697
        '503':
5698
          description: Under maintenance
5699
          schema:
5700
            $ref: '#/definitions/error'
5701
      x-koha-authorization:
5702
        permissions:
5703
          catalogue: '1'
5704
    post:
5705
      x-mojo-to: Quotes#add
5706
      operationId: addQuote
5707
      tags:
5708
        - quotes
5709
      summary: Add quote
5710
      parameters:
5711
        - name: body
5712
          in: body
5713
          description: A JSON object containing informations about the new quote
5714
          required: true
5715
          schema:
5716
            $ref: '#/definitions/quote'
5717
      produces:
5718
        - application/json
5719
      responses:
5720
        '201':
5721
          description: Quote added
5722
          schema:
5723
            $ref: '#/definitions/quote'
5724
        '401':
5725
          description: Authentication required
5726
          schema:
5727
            $ref: '#/definitions/error'
5728
        '403':
5729
          description: Access forbidden
5730
          schema:
5731
            $ref: '#/definitions/error'
5732
        '500':
5733
          description: |
5734
            Internal server error. Possible `error_code` attribute values:
5735
5736
            * `internal_server_error`
5737
          schema:
5738
            $ref: '#/definitions/error'
5739
        '503':
5740
          description: Under maintenance
5741
          schema:
5742
            $ref: '#/definitions/error'
5743
      x-koha-authorization:
5744
        permissions:
5745
          tools: edit_quotes
5746
  '/quotes/{quote_id}':
5747
    get:
5748
      x-mojo-to: Quotes#get
5749
      operationId: getQuote
5750
      tags:
5751
        - quotes
5752
      summary: Get quote
5753
      parameters:
5754
        - $ref: '#/parameters/quote_id_pp'
5755
      produces:
5756
        - application/json
5757
      responses:
5758
        '200':
5759
          description: A Quote
5760
          schema:
5761
            $ref: '#/definitions/quote'
5762
        '404':
5763
          description: Quote not found
5764
          schema:
5765
            $ref: '#/definitions/error'
5766
        '500':
5767
          description: |
5768
            Internal server error. Possible `error_code` attribute values:
5769
5770
            * `internal_server_error`
5771
          schema:
5772
            $ref: '#/definitions/error'
5773
        '503':
5774
          description: Under maintenance
5775
          schema:
5776
            $ref: '#/definitions/error'
5777
      x-koha-authorization:
5778
        permissions:
5779
          catalogue: '1'
5780
    put:
5781
      x-mojo-to: Quotes#update
5782
      operationId: updateQuote
5783
      tags:
5784
        - quotes
5785
      summary: Update quote
5786
      parameters:
5787
        - $ref: '#/parameters/quote_id_pp'
5788
        - name: body
5789
          in: body
5790
          description: a quote object
5791
          required: true
5792
          schema:
5793
            $ref: '#/definitions/quote'
5794
      produces:
5795
        - application/json
5796
      responses:
5797
        '200':
5798
          description: A quote
5799
          schema:
5800
            $ref: '#/definitions/quote'
5801
        '401':
5802
          description: Authentication required
5803
          schema:
5804
            $ref: '#/definitions/error'
5805
        '403':
5806
          description: Access forbidden
5807
          schema:
5808
            $ref: '#/definitions/error'
5809
        '404':
5810
          description: Quote not found
5811
          schema:
5812
            $ref: '#/definitions/error'
5813
        '500':
5814
          description: |
5815
            Internal server error. Possible `error_code` attribute values:
5816
5817
            * `internal_server_error`
5818
          schema:
5819
            $ref: '#/definitions/error'
5820
        '503':
5821
          description: Under maintenance
5822
          schema:
5823
            $ref: '#/definitions/error'
5824
      x-koha-authorization:
5825
        permissions:
5826
          tools: edit_quotes
5827
    delete:
5828
      x-mojo-to: Quotes#delete
5829
      operationId: deleteQuote
5830
      tags:
5831
        - quotes
5832
      summary: Delete quote
5833
      parameters:
5834
        - $ref: '#/parameters/quote_id_pp'
5835
      produces:
5836
        - application/json
5837
      responses:
5838
        '204':
5839
          description: Quote deleted
5840
        '401':
5841
          description: Authentication required
5842
          schema:
5843
            $ref: '#/definitions/error'
5844
        '403':
5845
          description: Access forbidden
5846
          schema:
5847
            $ref: '#/definitions/error'
5848
        '404':
5849
          description: Quote not found
5850
          schema:
5851
            $ref: '#/definitions/error'
5852
        '500':
5853
          description: |
5854
            Internal server error. Possible `error_code` attribute values:
5855
5856
            * `internal_server_error`
5857
          schema:
5858
            $ref: '#/definitions/error'
5859
        '503':
5860
          description: Under maintenance
5861
          schema:
5862
            $ref: '#/definitions/error'
5863
      x-koha-authorization:
5864
        permissions:
5865
          tools: edit_quotes
5866
  /return_claims:
5867
    post:
5868
      x-mojo-to: ReturnClaims#claim_returned
5869
      operationId: claimReturned
5870
      summary: Add a return claim
5871
      tags:
5872
        - return_claims
5873
      parameters:
5874
        - name: body
5875
          in: body
5876
          description: A JSON object containing fields to modify
5877
          required: true
5878
          schema:
5879
            type: object
5880
            properties:
5881
              item_id:
5882
                description: Internal item id to claim as returned
5883
                type: integer
5884
              notes:
5885
                description: Notes about this return claim
5886
                type: string
5887
              created_by:
5888
                description: User id for the librarian submitting this claim
5889
                type: string
5890
              charge_lost_fee:
5891
                description: Charge a lost fee if true and Koha is set to allow a choice. Ignored otherwise.
5892
                type: boolean
5893
            additionalProperties: false
5894
      produces:
5895
        - application/json
5896
      responses:
5897
        '201':
5898
          description: Created claim
5899
          schema:
5900
            $ref: '#/definitions/return_claim'
5901
        '400':
5902
          description: Bad request
5903
          schema:
5904
            $ref: '#/definitions/error'
5905
        '401':
5906
          description: Authentication required
5907
          schema:
5908
            $ref: '#/definitions/error'
5909
        '403':
5910
          description: Access forbidden
5911
          schema:
5912
            $ref: '#/definitions/error'
5913
        '404':
5914
          description: Checkout not found
5915
          schema:
5916
            $ref: '#/definitions/error'
5917
        '409':
5918
          description: Conflict creating the resource
5919
          schema:
5920
            $ref: '#/definitions/error'
5921
        '500':
5922
          description: |
5923
            Internal server error. Possible `error_code` attribute values:
5924
5925
            * `internal_server_error`
5926
          schema:
5927
            $ref: '#/definitions/error'
5928
        '503':
5929
          description: Under maintenance
5930
          schema:
5931
            $ref: '#/definitions/error'
5932
      x-koha-authorization:
5933
        permissions:
5934
          circulate: circulate_remaining_permissions
5935
  '/return_claims/{claim_id}/notes':
5936
    put:
5937
      x-mojo-to: ReturnClaims#update_notes
5938
      operationId: updateClaimNotes
5939
      summary: Update notes
5940
      tags:
5941
        - return_claims
5942
      parameters:
5943
        - name: claim_id
5944
          in: path
5945
          required: true
5946
          description: Unique identifier for the claim whose notes are to be updated
5947
          type: integer
5948
        - name: body
5949
          in: body
5950
          description: A JSON object containing fields to modify
5951
          required: true
5952
          schema:
5953
            type: object
5954
            properties:
5955
              notes:
5956
                description: Notes about this return claim
5957
                type: string
5958
              updated_by:
5959
                description: Interal identifier for the librarian updating the claim notes
5960
                type: string
5961
            additionalProperties: false
5962
      produces:
5963
        - application/json
5964
      responses:
5965
        '200':
5966
          description: Claim notes updated
5967
          schema:
5968
            $ref: '#/definitions/return_claim'
5969
        '400':
5970
          description: Bad request
5971
          schema:
5972
            $ref: '#/definitions/error'
5973
        '401':
5974
          description: Authentication required
5975
          schema:
5976
            $ref: '#/definitions/error'
5977
        '403':
5978
          description: Access forbidden
5979
          schema:
5980
            $ref: '#/definitions/error'
5981
        '404':
5982
          description: Claim not found
5983
          schema:
5984
            $ref: '#/definitions/error'
5985
        '500':
5986
          description: |
5987
            Internal server error. Possible `error_code` attribute values:
5988
5989
            * `internal_server_error`
5990
          schema:
5991
            $ref: '#/definitions/error'
5992
        '503':
5993
          description: Under maintenance
5994
          schema:
5995
            $ref: '#/definitions/error'
5996
      x-koha-authorization:
5997
        permissions:
5998
          circulate: circulate_remaining_permissions
5999
  '/return_claims/{claim_id}/resolve':
6000
    put:
6001
      x-mojo-to: ReturnClaims#resolve_claim
6002
      operationId: updateClaimResolve
6003
      summary: Resolve claim
6004
      tags:
6005
        - return_claims
6006
      parameters:
6007
        - name: claim_id
6008
          in: path
6009
          required: true
6010
          description: Unique identifier for the claim to be resolved
6011
          type: integer
6012
        - name: body
6013
          in: body
6014
          description: A JSON object containing fields to modify
6015
          required: true
6016
          schema:
6017
            type: object
6018
            properties:
6019
              resolution:
6020
                description: The RETURN_CLAIM_RESOLUTION code to be used to resolve the calim
6021
                type: string
6022
              resolved_by:
6023
                description: User id for the librarian resolving the claim
6024
                type: string
6025
              new_lost_status:
6026
                description: New lost status to set to the item
6027
                type: string
6028
            additionalProperties: false
6029
      produces:
6030
        - application/json
6031
      responses:
6032
        '200':
6033
          description: Claim resolved
6034
          schema:
6035
            $ref: '#/definitions/return_claim'
6036
        '400':
6037
          description: Bad request
6038
          schema:
6039
            $ref: '#/definitions/error'
6040
        '401':
6041
          description: Authentication required
6042
          schema:
6043
            $ref: '#/definitions/error'
6044
        '403':
6045
          description: Access forbidden
6046
          schema:
6047
            $ref: '#/definitions/error'
6048
        '404':
6049
          description: Claim not found
6050
          schema:
6051
            $ref: '#/definitions/error'
6052
        '500':
6053
          description: |
6054
            Internal server error. Possible `error_code` attribute values:
6055
6056
            * `internal_server_error`
6057
          schema:
6058
            $ref: '#/definitions/error'
6059
        '503':
6060
          description: Under maintenance
6061
          schema:
6062
            $ref: '#/definitions/error'
6063
      x-koha-authorization:
6064
        permissions:
6065
          circulate: circulate_remaining_permissions
6066
  '/return_claims/{claim_id}':
6067
    delete:
6068
      x-mojo-to: ReturnClaims#delete_claim
6069
      operationId: deletedClaim
6070
      summary: Delete claim
6071
      tags:
6072
        - return_claims
6073
      parameters:
6074
        - name: claim_id
6075
          in: path
6076
          required: true
6077
          description: Unique identifier for the claim to be deleted
6078
          type: integer
6079
      produces:
6080
        - application/json
6081
      responses:
6082
        '204':
6083
          description: Claim deleted
6084
          schema:
6085
            $ref: '#/definitions/return_claim'
6086
        '400':
6087
          description: Bad request
6088
          schema:
6089
            $ref: '#/definitions/error'
6090
        '401':
6091
          description: Authentication required
6092
          schema:
6093
            $ref: '#/definitions/error'
6094
        '403':
6095
          description: Access forbidden
6096
          schema:
6097
            $ref: '#/definitions/error'
6098
        '404':
6099
          description: Claim not found
6100
          schema:
6101
            $ref: '#/definitions/error'
6102
        '500':
6103
          description: |
6104
            Internal server error. Possible `error_code` attribute values:
6105
6106
            * `internal_server_error`
6107
          schema:
6108
            $ref: '#/definitions/error'
6109
        '503':
6110
          description: Under maintenance
6111
          schema:
6112
            $ref: '#/definitions/error'
6113
      x-koha-authorization:
6114
        permissions:
6115
          circulate: circulate_remaining_permissions
6116
  /suggestions:
6117
    get:
6118
      x-mojo-to: Suggestions#list
6119
      operationId: listSuggestions
6120
      description: This resource returns a list of purchase suggestions
6121
      summary: List purchase suggestions
6122
      tags:
6123
        - suggestions
6124
      parameters:
6125
        - $ref: '#/parameters/match'
6126
        - $ref: '#/parameters/order_by'
6127
        - $ref: '#/parameters/page'
6128
        - $ref: '#/parameters/per_page'
6129
        - $ref: '#/parameters/q_param'
6130
        - $ref: '#/parameters/q_body'
6131
        - $ref: '#/parameters/q_header'
6132
      produces:
6133
        - application/json
6134
      responses:
6135
        '200':
6136
          description: A list of suggestions
6137
          schema:
6138
            type: array
6139
            items:
6140
              $ref: '#/definitions/suggestion'
6141
        '403':
6142
          description: Access forbidden
6143
          schema:
6144
            $ref: '#/definitions/error'
6145
        '500':
6146
          description: |
6147
            Internal server error. Possible `error_code` attribute values:
6148
6149
            * `internal_server_error`
6150
          schema:
6151
            $ref: '#/definitions/error'
6152
        '503':
6153
          description: Under maintenance
6154
          schema:
6155
            $ref: '#/definitions/error'
6156
      x-koha-authorization:
6157
        permissions:
6158
          suggestions: suggestions_manage
6159
    post:
6160
      x-mojo-to: Suggestions#add
6161
      operationId: addSuggestions
6162
      description: This resource accepts a new purchase suggestion and creates it
6163
      summary: Add a purchase suggestion
6164
      tags:
6165
        - suggestions
6166
      parameters:
6167
        - name: body
6168
          in: body
6169
          description: A JSON object containing informations about the new suggestion
6170
          required: true
6171
          schema:
6172
            $ref: '#/definitions/suggestion'
6173
      produces:
6174
        - application/json
6175
      responses:
6176
        '201':
6177
          description: Suggestion added
6178
          schema:
6179
            $ref: '#/definitions/suggestion'
6180
        '400':
6181
          description: Bad request
6182
          schema:
6183
            $ref: '#/definitions/error'
6184
        '403':
6185
          description: Access forbidden
6186
          schema:
6187
            $ref: '#/definitions/error'
6188
        '500':
6189
          description: |
6190
            Internal server error. Possible `error_code` attribute values:
6191
6192
            * `internal_server_error`
6193
          schema:
6194
            $ref: '#/definitions/error'
6195
        '503':
6196
          description: Under maintenance
6197
          schema:
6198
            $ref: '#/definitions/error'
6199
      x-koha-authorization:
6200
        permissions:
6201
          suggestions: suggestions_manage
6202
  '/suggestions/{suggestion_id}':
6203
    get:
6204
      x-mojo-to: Suggestions#get
6205
      operationId: getSuggestion
6206
      description: This resource gives access to a specific purchase suggestion
6207
      summary: Get purchase suggestion
6208
      tags:
6209
        - suggestions
6210
      parameters:
6211
        - $ref: '#/parameters/suggestion_id_pp'
6212
      produces:
6213
        - application/json
6214
      responses:
6215
        '200':
6216
          description: A suggestion
6217
          schema:
6218
            $ref: '#/definitions/suggestion'
6219
        '403':
6220
          description: Access forbidden
6221
          schema:
6222
            $ref: '#/definitions/error'
6223
        '404':
6224
          description: Suggestion not found
6225
          schema:
6226
            $ref: '#/definitions/error'
6227
        '500':
6228
          description: |
6229
            Internal server error. Possible `error_code` attribute values:
6230
6231
            * `internal_server_error`
6232
          schema:
6233
            $ref: '#/definitions/error'
6234
        '503':
6235
          description: Under maintenance
6236
          schema:
6237
            $ref: '#/definitions/error'
6238
      x-koha-authorization:
6239
        permissions:
6240
          suggestions: suggestions_manage
6241
    put:
6242
      x-mojo-to: Suggestions#update
6243
      operationId: updateSuggestion
6244
      description: This resource allows updating an existing purchase suggestion
6245
      summary: Update purchase suggestion
6246
      tags:
6247
        - suggestions
6248
      parameters:
6249
        - $ref: '#/parameters/suggestion_id_pp'
6250
        - name: body
6251
          in: body
6252
          description: A JSON object containing informations about the new hold
6253
          required: true
6254
          schema:
6255
            $ref: '#/definitions/suggestion'
6256
      produces:
6257
        - application/json
6258
      responses:
6259
        '200':
6260
          description: A suggestion
6261
          schema:
6262
            $ref: '#/definitions/suggestion'
6263
        '400':
6264
          description: Bad request
6265
          schema:
6266
            $ref: '#/definitions/error'
6267
        '403':
6268
          description: Access forbidden
6269
          schema:
6270
            $ref: '#/definitions/error'
6271
        '404':
6272
          description: Suggestion not found
6273
          schema:
6274
            $ref: '#/definitions/error'
6275
        '500':
6276
          description: |
6277
            Internal server error. Possible `error_code` attribute values:
6278
6279
            * `internal_server_error`
6280
          schema:
6281
            $ref: '#/definitions/error'
6282
        '503':
6283
          description: Under maintenance
6284
          schema:
6285
            $ref: '#/definitions/error'
6286
      x-koha-authorization:
6287
        permissions:
6288
          suggestions: suggestions_manage
6289
    delete:
6290
      x-mojo-to: Suggestions#delete
6291
      operationId: deleteSuggestion
6292
      description: This resource deletes an existing purchase suggestion
6293
      summary: Delete purchase suggestion
6294
      tags:
6295
        - suggestions
6296
      parameters:
6297
        - $ref: '#/parameters/suggestion_id_pp'
6298
      produces:
6299
        - application/json
6300
      responses:
6301
        '204':
6302
          description: Suggestion deleted
6303
          schema:
6304
            type: string
6305
        '401':
6306
          description: Authentication required
6307
          schema:
6308
            $ref: '#/definitions/error'
6309
        '403':
6310
          description: Access forbidden
6311
          schema:
6312
            $ref: '#/definitions/error'
6313
        '404':
6314
          description: Suggestion not found
6315
          schema:
6316
            $ref: '#/definitions/error'
6317
        '500':
6318
          description: |
6319
            Internal server error. Possible `error_code` attribute values:
6320
6321
            * `internal_server_error`
6322
          schema:
6323
            $ref: '#/definitions/error'
6324
        '503':
6325
          description: Under maintenance
6326
          schema:
6327
            $ref: '#/definitions/error'
6328
      x-koha-authorization:
6329
        permissions:
6330
          suggestions: suggestions_manage
6331
definitions:
6332
  account_line:
6333
    type: object
6334
    properties:
6335
      account_line_id:
6336
        type: integer
6337
        description: Internal account line identifier
6338
      checkout_id:
6339
        type:
6340
          - integer
6341
          - 'null'
6342
        description: Internal identifier for the checkout the account line is related to
6343
      patron_id:
6344
        type: integer
6345
        description: Internal identifier for the patron the account line belongs to
6346
      item_id:
6347
        type:
6348
          - integer
6349
          - 'null'
6350
        description: Internal identifier for the item the account line is related to
6351
      date:
6352
        type: string
6353
        format: date-time
6354
        description: Date the account line was created
6355
      amount:
6356
        type: number
6357
        description: Account line amount
6358
      description:
6359
        type:
6360
          - string
6361
          - 'null'
6362
        description: Account line description
6363
      account_type:
6364
        type:
6365
          - string
6366
          - 'null'
6367
        description: Account line type
6368
      debit_type:
6369
        type:
6370
          - string
6371
          - 'null'
6372
        description: Account line debit type
6373
      credit_type:
6374
        type:
6375
          - string
6376
          - 'null'
6377
        description: Account line credit type
6378
      payment_type:
6379
        type:
6380
          - string
6381
          - 'null'
6382
        description: Payment type
6383
      amount_outstanding:
6384
        type: number
6385
        description: Outstanding amount
6386
      last_increment:
6387
        type:
6388
          - number
6389
          - 'null'
6390
        description: The amount the line was increased last time
6391
      timestamp:
6392
        type: string
6393
        format: date-time
6394
        description: Timestamp for the latest line update
6395
      internal_note:
6396
        type:
6397
          - string
6398
          - 'null'
6399
        description: Internal note
6400
      user_id:
6401
        type:
6402
          - integer
6403
          - 'null'
6404
        description: Internal patron identifier for the staff member that introduced the account line
6405
      library_id:
6406
        type:
6407
          - string
6408
          - 'null'
6409
        description: Internal identifier for the library in which the transaction took place
6410
      interface:
6411
        type:
6412
          - string
6413
          - 'null'
6414
        description: 'Interface in which the account line was generated (values can be: api, cron, commandline, intranet, opac and sip)'
6415
      status:
6416
        type:
6417
          - string
6418
          - 'null'
6419
        description: The credit/debit status
6420
      cash_register_id:
6421
        type:
6422
          - integer
6423
          - 'null'
6424
        description: Internal identifier for the cash register used for the payment (if any)
6425
    additionalProperties: false
6426
  advancededitormacro:
6427
    type: object
6428
    properties:
6429
      macro_id:
6430
        $ref: '#/x-primitives/advancededitormacro_id'
6431
      name:
6432
        description: macro name
6433
        type: string
6434
      macro_text:
6435
        description: macro text
6436
        type:
6437
          - string
6438
          - 'null'
6439
      patron_id:
6440
        description: borrower number
6441
        type:
6442
          - integer
6443
          - 'null'
6444
      shared:
6445
        description: is macro shared
6446
        type:
6447
          - boolean
6448
          - 'null'
6449
    additionalProperties: false
6450
    required:
6451
      - name
6452
      - macro_text
6453
      - patron_id
6454
      - shared
6455
  allows_renewal:
6456
    type: object
6457
    properties:
6458
      allows_renewal:
6459
        type: boolean
6460
        description: 'Renewability status; true = renewable, false = not renewable'
6461
      max_renewals:
6462
        type: integer
6463
        description: Maximum number of possible renewals
6464
      current_renewals:
6465
        type: integer
6466
        description: Current used renewals
6467
      unseen_renewals:
6468
        type: integer
6469
        description: Number of consecutive times the item was renewed without being seen
6470
      error:
6471
        type:
6472
          - string
6473
          - 'null'
6474
        description: Description on false allows_renewal.
6475
    additionalProperties: false
6476
  basket:
6477
    type: object
6478
    properties:
6479
      basket_id:
6480
        type: integer
6481
        description: Internal identifier for the basket
6482
      name:
6483
        type: string
6484
        description: Basket name
6485
      internal_note:
6486
        type:
6487
          - string
6488
          - 'null'
6489
        description: Internal note
6490
      vendor_note:
6491
        type:
6492
          - string
6493
          - 'null'
6494
        description: Vendor note
6495
      contract_id:
6496
        type: integer
6497
        description: Internal identifier of the linked contract
6498
      creation_date:
6499
        type:
6500
          - string
6501
          - 'null'
6502
        format: date
6503
        description: The date the basket was created
6504
      close_date:
6505
        type:
6506
          - string
6507
          - 'null'
6508
        format: date
6509
        description: The date the basket was closed
6510
      vendor_id:
6511
        type: integer
6512
        description: Internal identifier for the vendor
6513
      authorised_by:
6514
        type:
6515
          - integer
6516
          - 'null'
6517
        description: Internal patron identifier of the basket creator
6518
      basket_group_id:
6519
        type:
6520
          - integer
6521
          - 'null'
6522
        description: links this basket to its group (aqbasketgroups.id)
6523
      delivery_library:
6524
        type:
6525
          - string
6526
          - 'null'
6527
        description: basket delivery place
6528
      billing_library:
6529
        type:
6530
          - string
6531
          - 'null'
6532
        description: basket billing place
6533
      library_id:
6534
        type:
6535
          - integer
6536
          - 'null'
6537
        description: Library the basket belongs to
6538
      standing:
6539
        type: boolean
6540
        description: If the orders in this basket are standing
6541
      create_items:
6542
        type: string
6543
        enum:
6544
          - ordering
6545
          - receiving
6546
          - cataloguing
6547
        description: 'When items should be created for orders in this basket (Options: ''ordering'', ''receiving'', ''cataloguing''. Null means system wide config)'
6548
    additionalProperties: false
6549
  cashup:
6550
    type: object
6551
    properties:
6552
      cashup_id:
6553
        type: integer
6554
        description: Internal cashup identifier
6555
      cash_register_id:
6556
        type: integer
6557
        description: Internal identifier for the register the cashup belongs to
6558
      manager_id:
6559
        type: integer
6560
        description: Internal identifier for the manager the cashup was performed by
6561
      manager:
6562
        type:
6563
          - object
6564
          - 'null'
6565
        description: The object representing the manager the cashup was performed by
6566
      amount:
6567
        type: number
6568
        description: Account line amount
6569
      timestamp:
6570
        type: string
6571
        format: date-time
6572
        description: Timestamp for the latest line update
6573
      summary:
6574
        type: object
6575
        description: A summary of the cashup action
6576
    additionalProperties: false
6577
  checkout:
6578
    type: object
6579
    properties:
6580
      checkout_id:
6581
        type: integer
6582
        description: internally assigned checkout identifier
6583
      patron_id:
6584
        $ref: '#/x-primitives/patron_id'
6585
      item_id:
6586
        type: integer
6587
        description: internal identifier of checked out item
6588
      due_date:
6589
        type: string
6590
        format: date-time
6591
        description: Due date
6592
      library_id:
6593
        type:
6594
          - string
6595
          - 'null'
6596
        description: code of the library the item was checked out
6597
      issuer_id:
6598
        type:
6599
          - integer
6600
          - 'null'
6601
        description: internally assigned for the user that processed the checkout
6602
      checkin_date:
6603
        type:
6604
          - string
6605
          - 'null'
6606
        format: date-time
6607
        description: Date the item was returned
6608
      last_renewed_date:
6609
        type:
6610
          - string
6611
          - 'null'
6612
        format: date-time
6613
        description: Date the item was last renewed
6614
      renewals:
6615
        type:
6616
          - integer
6617
          - 'null'
6618
        description: Number of renewals
6619
      unseen_renewals:
6620
        type:
6621
          - integer
6622
          - 'null'
6623
        description: Number of consecutive unseen renewals
6624
      auto_renew:
6625
        type: boolean
6626
        description: Auto renewal
6627
      auto_renew_error:
6628
        type:
6629
          - string
6630
          - 'null'
6631
        description: Auto renewal error
6632
      timestamp:
6633
        type: string
6634
        description: Last update time
6635
      checkout_date:
6636
        type: string
6637
        format: date-time
6638
        description: Date the item was issued
6639
      onsite_checkout:
6640
        type: boolean
6641
        description: On site checkout
6642
      note:
6643
        type:
6644
          - string
6645
          - 'null'
6646
        description: Issue note text
6647
      note_date:
6648
        type:
6649
          - string
6650
          - 'null'
6651
        format: date
6652
        description: Datetime of the issue note
6653
      note_seen:
6654
        type:
6655
          - boolean
6656
          - 'null'
6657
        description: has the note been seen already
6658
      issuer:
6659
        type:
6660
          - object
6661
          - 'null'
6662
        description: The object representing the checkout issuer
6663
      item:
6664
        type:
6665
          - object
6666
          - 'null'
6667
        description: The object representing the checked out item
6668
      library:
6669
        type:
6670
          - object
6671
          - 'null'
6672
        description: The object representing the checkout library
6673
      patron:
6674
        type:
6675
          - object
6676
          - 'null'
6677
        description: The object representing the checkout patron
6678
    additionalProperties: false
6679
  checkouts:
6680
    type: array
6681
    items:
6682
      $ref: '#/definitions/checkout'
6683
    additionalProperties: false
6684
  circ-rule-kind:
6685
    type: object
6686
    properties:
6687
      scope:
6688
        description: levels that this rule kind can be set for
6689
        type: array
6690
        items:
6691
          type: string
6692
          enum:
6693
            - branchcode
6694
            - categorycode
6695
            - itemtype
6696
    additionalProperties: false
6697
    required:
6698
      - scope
6699
  city:
6700
    type: object
6701
    properties:
6702
      city_id:
6703
        $ref: '#/x-primitives/city_id'
6704
      name:
6705
        description: city name
6706
        type: string
6707
      state:
6708
        description: city state
6709
        type:
6710
          - string
6711
          - 'null'
6712
      postal_code:
6713
        description: city postal code
6714
        type:
6715
          - string
6716
          - 'null'
6717
      country:
6718
        description: city country
6719
        type:
6720
          - string
6721
          - 'null'
6722
    additionalProperties: false
6723
    required:
6724
      - name
6725
      - state
6726
      - postal_code
6727
      - country
6728
  error:
6729
    type: object
6730
    properties:
6731
      error:
6732
        description: Error message
6733
        type: string
6734
      error_code:
6735
        description: Error code
6736
        type: string
6737
    additionalProperties: true
6738
  fund:
6739
    type: object
6740
    properties:
6741
      fund_id:
6742
        $ref: '#/x-primitives/fund_id'
6743
      code:
6744
        type:
6745
          - string
6746
          - 'null'
6747
        description: Code assigned to the fund by the user
6748
      name:
6749
        type:
6750
          - string
6751
          - 'null'
6752
        description: Name assigned to the fund by the user
6753
      library_id:
6754
        type:
6755
          - string
6756
          - 'null'
6757
        description: Internal identifier for the library that this fund belongs to
6758
      total_amount:
6759
        type:
6760
          - number
6761
          - 'null'
6762
        description: Total amount for this fund
6763
      warn_at_percentage:
6764
        type:
6765
          - number
6766
          - 'null'
6767
        description: Warning at percentage
6768
      warn_at_amount:
6769
        type:
6770
          - number
6771
          - 'null'
6772
        description: Warning at amount
6773
      notes:
6774
        type:
6775
          - string
6776
          - 'null'
6777
        description: Notes related to this fund
6778
      budget_id:
6779
        type:
6780
          - number
6781
          - 'null'
6782
        description: Internal identifier for the budget
6783
      timestamp:
6784
        type:
6785
          - string
6786
        format: date-time
6787
        description: Timestamp
6788
      fund_owner_id:
6789
        type:
6790
          - number
6791
          - 'null'
6792
        description: Internal identifier for the fund owner
6793
      fund_access:
6794
        type:
6795
          - number
6796
          - 'null'
6797
        description: 'Level of permission for this fund (1: owner, 2: owner, users and library, 3: owner and users)'
6798
      parent_fund_id:
6799
        type:
6800
          - integer
6801
          - 'null'
6802
        description: Internal identifier for parent fund
6803
      statistic1_auth_value_category:
6804
        type:
6805
          - string
6806
          - 'null'
6807
        description: Statistical category for this fund
6808
      statistic2_auth_value_category:
6809
        type:
6810
          - string
6811
          - 'null'
6812
        description: Second statistical category for this fund
6813
    additionalProperties: false
6814
    required:
6815
      - name
6816
  hold:
6817
    type: object
6818
    properties:
6819
      hold_id:
6820
        type: integer
6821
        description: Internal hold identifier
6822
      patron_id:
6823
        type: integer
6824
        description: Internal patron identifier
6825
      hold_date:
6826
        type:
6827
          - string
6828
          - 'null'
6829
        format: date
6830
        description: The date the hold was placed
6831
      biblio_id:
6832
        type: integer
6833
        description: Internal biblio identifier
6834
      pickup_library_id:
6835
        type:
6836
          - string
6837
          - 'null'
6838
        description: Internal library identifier for the pickup library
6839
      desk_id:
6840
        type:
6841
          - integer
6842
          - 'null'
6843
        description: The id of the desk
6844
      cancellation_date:
6845
        type:
6846
          - string
6847
          - 'null'
6848
        format: date
6849
        description: The date the hold was cancelled
6850
      cancellation_reason:
6851
        type:
6852
          - string
6853
          - 'null'
6854
        description: The reason the hold was cancelled
6855
      notes:
6856
        type:
6857
          - string
6858
          - 'null'
6859
        description: Notes related to this hold
6860
      priority:
6861
        type:
6862
          - integer
6863
          - 'null'
6864
        description: Where in the queue the patron sits
6865
      status:
6866
        type:
6867
          - string
6868
          - 'null'
6869
        description: A one letter code defining what the status of the hold is after it has been confirmed
6870
      timestamp:
6871
        type: string
6872
        format: date-time
6873
        description: Timestamp for the latest hold update
6874
      item_id:
6875
        type:
6876
          - string
6877
          - 'null'
6878
        description: Internal item identifier
6879
      waiting_date:
6880
        type:
6881
          - string
6882
          - 'null'
6883
        format: date
6884
        description: The date the item was marked as waiting for the patron at the library
6885
      expiration_date:
6886
        type:
6887
          - string
6888
          - 'null'
6889
        format: date
6890
        description: The date the hold expires
6891
      lowest_priority:
6892
        type: boolean
6893
        description: Controls if the hold is given the lowest priority on the queue
6894
      suspended:
6895
        type: boolean
6896
        description: Controls if the hold is suspended
6897
      suspended_until:
6898
        type:
6899
          - string
6900
          - 'null'
6901
        format: date-time
6902
        description: Date until which the hold has been suspended
6903
      non_priority:
6904
        description: Set this hold as non priority
6905
        type: boolean
6906
      item_type:
6907
        type:
6908
          - string
6909
          - 'null'
6910
        description: 'If record level hold, the optional itemtype of the item the patron is requesting'
6911
      item_level:
6912
        type: boolean
6913
        description: If the hold is placed at item level
6914
    additionalProperties: false
6915
  holds:
6916
    type: array
6917
    items:
6918
      $ref: '#/definitions/hold'
6919
    additionalProperties: false
6920
  ill_backend:
6921
    type: object
6922
    properties:
6923
      ill_backend_id:
6924
        type: string
6925
        description: Internal ILL backend identifier
6926
      capabilities:
6927
        type: object
6928
        description: List of capabilities
6929
    additionalProperties: false
6930
  ill_backends:
6931
    type: array
6932
    items:
6933
      $ref: '#/definitions/ill_backend'
6934
    additionalProperties: false
6935
  import_batch_profile:
6936
    type: object
6937
    properties:
6938
      profile_id:
6939
        type: integer
6940
        description: Internal profile identifier
6941
      name:
6942
        description: name of this profile
6943
        type: string
6944
      matcher_id:
6945
        description: the id of the match rule used (matchpoints.matcher_id)
6946
        type:
6947
          - integer
6948
          - 'null'
6949
      template_id:
6950
        description: the id of the marc modification template
6951
        type:
6952
          - integer
6953
          - 'null'
6954
      overlay_action:
6955
        description: how to handle duplicate records
6956
        type:
6957
          - string
6958
          - 'null'
6959
      nomatch_action:
6960
        description: how to handle records where no match is found
6961
        type:
6962
          - string
6963
          - 'null'
6964
      item_action:
6965
        description: what to do with item records
6966
        type:
6967
          - string
6968
          - 'null'
6969
      parse_items:
6970
        description: should items be parsed
6971
        type:
6972
          - boolean
6973
          - 'null'
6974
      record_type:
6975
        description: type of record in the batch
6976
        type:
6977
          - string
6978
          - 'null'
6979
      encoding:
6980
        description: file encoding
6981
        type:
6982
          - string
6983
          - 'null'
6984
      format:
6985
        description: marc format
6986
        type:
6987
          - string
6988
          - 'null'
6989
      comments:
6990
        description: any comments added when the file was uploaded
6991
        type:
6992
          - string
6993
          - 'null'
6994
    additionalProperties: false
6995
  import_batch_profiles:
6996
    type: array
6997
    items:
6998
      $ref: '#/definitions/import_batch_profile'
6999
    additionalProperties: false
7000
  invoice:
7001
    type: object
7002
    properties:
7003
      invoice_id:
7004
        type: integer
7005
        description: Internal identifier for the incoide. Generated on POST
7006
      invoice_number:
7007
        type: string
7008
        description: Invoice number assigned by the vendor
7009
      vendor_id:
7010
        type: integer
7011
        description: Internal identifier for the vendor
7012
      shipping_date:
7013
        type:
7014
          - string
7015
          - 'null'
7016
        format: date
7017
        description: Date of shipping
7018
      invoice_date:
7019
        type:
7020
          - string
7021
          - 'null'
7022
        format: date
7023
        description: Date of billing
7024
      closed:
7025
        type: boolean
7026
        description: If the invoice is closed
7027
      close_date:
7028
        type: string
7029
        format: date
7030
        description: Invoice close date (only when the invoice is closed)
7031
      shipping_cost:
7032
        type:
7033
          - integer
7034
          - 'null'
7035
        description: Shipping cost
7036
      shipping_cost_budget_id:
7037
        type:
7038
          - integer
7039
          - 'null'
7040
        description: Shipping cost linking to budget
7041
    additionalProperties: false
7042
  item:
7043
    type: object
7044
    properties:
7045
      item_id:
7046
        type: integer
7047
        description: Internal item identifier
7048
      biblio_id:
7049
        type: integer
7050
        description: Internal identifier for the parent bibliographic record
7051
      external_id:
7052
        type:
7053
          - string
7054
          - 'null'
7055
        description: The item's barcode
7056
      acquisition_date:
7057
        type:
7058
          - string
7059
          - 'null'
7060
        format: date
7061
        description: The date the item was acquired
7062
      acquisition_source:
7063
        type:
7064
          - string
7065
          - 'null'
7066
        description: Information about the acquisition source (it is not really a vendor id)
7067
      home_library_id:
7068
        type:
7069
          - string
7070
          - 'null'
7071
        description: Internal library id for the library the item belongs to
7072
      purchase_price:
7073
        type:
7074
          - number
7075
          - 'null'
7076
        description: Purchase price
7077
      replacement_price:
7078
        type:
7079
          - number
7080
          - 'null'
7081
        description: Cost the library charges to replace the item (e.g. if lost)
7082
      replacement_price_date:
7083
        type:
7084
          - string
7085
          - 'null'
7086
        format: date
7087
        description: The date the replacement price is effective from
7088
      last_checkout_date:
7089
        type:
7090
          - string
7091
          - 'null'
7092
        format: date
7093
        description: The date the item was last checked out
7094
      last_seen_date:
7095
        type:
7096
          - string
7097
          - 'null'
7098
        format: date
7099
        description: The date the item barcode was last scanned
7100
      not_for_loan_status:
7101
        type: integer
7102
        description: Authorized value defining why this item is not for loan
7103
      damaged_status:
7104
        type: integer
7105
        description: Authorized value defining this item as damaged
7106
      damaged_date:
7107
        type:
7108
          - string
7109
          - 'null'
7110
        description: 'The date and time an item was last marked as damaged, NULL if not damaged'
7111
      lost_status:
7112
        type: integer
7113
        description: Authorized value defining this item as lost
7114
      lost_date:
7115
        type:
7116
          - string
7117
          - 'null'
7118
        format: date-time
7119
        description: 'The date and time an item was last marked as lost, NULL if not lost'
7120
      withdrawn:
7121
        type: integer
7122
        description: Authorized value defining this item as withdrawn
7123
      withdrawn_date:
7124
        type:
7125
          - string
7126
          - 'null'
7127
        format: date-time
7128
        description: 'The date and time an item was last marked as withdrawn, NULL if not withdrawn'
7129
      callnumber:
7130
        type:
7131
          - string
7132
          - 'null'
7133
        description: Call number for this item
7134
      coded_location_qualifier:
7135
        type:
7136
          - string
7137
          - 'null'
7138
        description: Coded location qualifier
7139
      checkouts_count:
7140
        type:
7141
          - integer
7142
          - 'null'
7143
        description: Number of times this item has been checked out/issued
7144
      renewals_count:
7145
        type:
7146
          - integer
7147
          - 'null'
7148
        description: Number of times this item has been renewed
7149
      holds_count:
7150
        type:
7151
          - integer
7152
          - 'null'
7153
        description: Number of times this item has been placed on hold/reserved
7154
      restricted_status:
7155
        type:
7156
          - integer
7157
          - 'null'
7158
        description: Authorized value defining use restrictions for this item
7159
      public_notes:
7160
        type:
7161
          - string
7162
          - 'null'
7163
        description: Public notes on this item
7164
      internal_notes:
7165
        type:
7166
          - string
7167
          - 'null'
7168
        description: Non-public notes on this item
7169
      holding_library_id:
7170
        type:
7171
          - string
7172
          - 'null'
7173
        description: Library that is currently in possession item
7174
      timestamp:
7175
        type: string
7176
        format: date-time
7177
        description: Date and time this item was last altered
7178
      location:
7179
        type:
7180
          - string
7181
          - 'null'
7182
        description: Authorized value for the shelving location for this item
7183
      permanent_location:
7184
        type:
7185
          - string
7186
          - 'null'
7187
        description: 'Linked to the CART and PROC temporary locations feature, stores the permanent shelving location'
7188
      checked_out_date:
7189
        type:
7190
          - string
7191
          - 'null'
7192
        format: date
7193
        description: 'Defines if item is checked out (NULL for not checked out, and checkout date for checked out)'
7194
      call_number_source:
7195
        type:
7196
          - string
7197
          - 'null'
7198
        description: Classification source used on this item
7199
      call_number_sort:
7200
        type:
7201
          - string
7202
          - 'null'
7203
        description: '?'
7204
      collection_code:
7205
        type:
7206
          - string
7207
          - 'null'
7208
        description: Authorized value for the collection code associated with this item
7209
      materials_notes:
7210
        type:
7211
          - string
7212
          - 'null'
7213
        description: Materials specified
7214
      uri:
7215
        type:
7216
          - string
7217
          - 'null'
7218
        description: URL for the item
7219
      item_type_id:
7220
        type:
7221
          - string
7222
          - 'null'
7223
        description: Itemtype defining the type for this item
7224
      extended_subfields:
7225
        type:
7226
          - string
7227
          - 'null'
7228
        description: Additional 952 subfields in XML format
7229
      serial_issue_number:
7230
        type:
7231
          - string
7232
          - 'null'
7233
        description: serial enumeration/chronology for the item
7234
      copy_number:
7235
        type:
7236
          - string
7237
          - 'null'
7238
        description: Copy number
7239
      inventory_number:
7240
        type:
7241
          - string
7242
          - 'null'
7243
        description: Inventory number
7244
      new_status:
7245
        type:
7246
          - string
7247
          - 'null'
7248
        description: '''new'' value, whatever free-text information.'
7249
      exclude_from_local_holds_priority:
7250
        type: boolean
7251
        description: Exclude this item from local holds priority.
7252
    additionalProperties: false
7253
    required:
7254
      - item_id
7255
      - biblio_id
7256
      - not_for_loan_status
7257
      - damaged_status
7258
      - lost_status
7259
      - withdrawn
7260
  library:
7261
    type: object
7262
    properties:
7263
      library_id:
7264
        $ref: '#/x-primitives/library_id'
7265
      name:
7266
        type: string
7267
        description: Printable name of library
7268
      address1:
7269
        type:
7270
          - string
7271
          - 'null'
7272
        description: the first address line of the library
7273
      address2:
7274
        type:
7275
          - string
7276
          - 'null'
7277
        description: the second address line of the library
7278
      address3:
7279
        type:
7280
          - string
7281
          - 'null'
7282
        description: the third address line of the library
7283
      postal_code:
7284
        type:
7285
          - string
7286
          - 'null'
7287
        description: the postal code of the library
7288
      city:
7289
        type:
7290
          - string
7291
          - 'null'
7292
        description: the city or province of the library
7293
      state:
7294
        type:
7295
          - string
7296
          - 'null'
7297
        description: the reqional state of the library
7298
      country:
7299
        type:
7300
          - string
7301
          - 'null'
7302
        description: the county of the library
7303
      phone:
7304
        type:
7305
          - string
7306
          - 'null'
7307
        description: the primary phone of the library
7308
      fax:
7309
        type:
7310
          - string
7311
          - 'null'
7312
        description: the fax number of the library
7313
      email:
7314
        type:
7315
          - string
7316
          - 'null'
7317
        description: the primary email address of the library
7318
      illemail:
7319
        type:
7320
          - string
7321
          - 'null'
7322
        description: the ILL staff email address of the library
7323
      reply_to_email:
7324
        type:
7325
          - string
7326
          - 'null'
7327
        description: the email to be used as a Reply-To
7328
      return_path_email:
7329
        type:
7330
          - string
7331
          - 'null'
7332
        description: the email to be used as Return-Path
7333
      url:
7334
        type:
7335
          - string
7336
          - 'null'
7337
        description: the URL for your library or branch's website
7338
      ip:
7339
        type:
7340
          - string
7341
          - 'null'
7342
        description: the IP address for your library or branch
7343
      notes:
7344
        type:
7345
          - string
7346
          - 'null'
7347
        description: notes related to your library or branch
7348
      opac_info:
7349
        type:
7350
          - string
7351
          - 'null'
7352
        description: HTML that displays in OPAC
7353
      geolocation:
7354
        type:
7355
          - string
7356
          - 'null'
7357
        description: geolocation of your library
7358
      marc_org_code:
7359
        type:
7360
          - string
7361
          - 'null'
7362
        description: 'MARC Organization Code, see http://www.loc.gov/marc/organizations/orgshome.html, when empty defaults to syspref MARCOrgCode'
7363
      pickup_location:
7364
        type: boolean
7365
        description: If the library can act as a pickup location
7366
      public:
7367
        type: boolean
7368
        description: If the library is visible to the public
7369
      smtp_server:
7370
        type:
7371
          - object
7372
          - 'null'
7373
        description: The library effective SMTP server
7374
      needs_override:
7375
        type: boolean
7376
        description: If the library needs an override to act as pickup location for a hold
7377
    additionalProperties: false
7378
    required:
7379
      - library_id
7380
      - name
7381
  order:
7382
    type: object
7383
    properties:
7384
      order_id:
7385
        type: integer
7386
        description: Internally assigned order identifier
7387
      biblio_id:
7388
        type:
7389
          - integer
7390
          - 'null'
7391
        description: Identifier for the linked bibliographic record
7392
      created_by:
7393
        type:
7394
          - integer
7395
          - 'null'
7396
        description: Interal patron identifier of the order line creator
7397
      entry_date:
7398
        type:
7399
          - string
7400
          - 'null'
7401
        format: date
7402
        description: Date the bib was added to the basket
7403
      quantity:
7404
        type:
7405
          - integer
7406
          - 'null'
7407
        description: Ordered quantity
7408
      currency:
7409
        type:
7410
          - string
7411
          - 'null'
7412
        description: Currency used for the purchase
7413
      list_price:
7414
        type:
7415
          - number
7416
          - 'null'
7417
        description: Vendor price for the line item
7418
      replacement_price:
7419
        type:
7420
          - number
7421
          - 'null'
7422
        description: Replacement cost for this item
7423
      date_received:
7424
        type:
7425
          - string
7426
          - 'null'
7427
        format: date
7428
        description: Date the order was received
7429
      invoice_id:
7430
        type:
7431
          - integer
7432
          - 'null'
7433
        description: Id of the order invoice
7434
      shipping_cost:
7435
        type:
7436
          - number
7437
          - 'null'
7438
        description: Shipping cost
7439
      unit_price:
7440
        type:
7441
          - number
7442
          - 'null'
7443
        description: The actual cost entered when receiving this line item
7444
      unit_price_tax_excluded:
7445
        type:
7446
          - number
7447
          - 'null'
7448
        description: Unit price excluding tax (on receiving)
7449
      unit_price_tax_included:
7450
        type:
7451
          - number
7452
          - 'null'
7453
        description: Unit price including tax (on receiving)
7454
      quantity_received:
7455
        type: integer
7456
        description: Quantity received so far
7457
      cancellation_date:
7458
        type:
7459
          - string
7460
          - 'null'
7461
        format: date
7462
        description: Date the line item was deleted
7463
      cancellation_reason:
7464
        type:
7465
          - string
7466
          - 'null'
7467
        description: Reason of cancellation
7468
      internal_note:
7469
        type:
7470
          - string
7471
          - 'null'
7472
        description: 'Notes related to this order line, made for staff'
7473
      vendor_note:
7474
        type:
7475
          - string
7476
          - 'null'
7477
        description: 'Notes related to this order line, made for vendor'
7478
      basket_id:
7479
        type:
7480
          - integer
7481
          - 'null'
7482
        description: Basket this order is linked to
7483
      timestamp:
7484
        type: string
7485
        format: date-time
7486
        description: Date and time this order line was last modified
7487
      rrp:
7488
        type:
7489
          - number
7490
          - 'null'
7491
        description: Retail cost for this item
7492
      rrp_tax_excluded:
7493
        type:
7494
          - number
7495
          - 'null'
7496
        description: Replacement cost for this item (tax excluded)
7497
      rrp_tax_included:
7498
        type:
7499
          - number
7500
          - 'null'
7501
        description: Replacement cost for this item (tax included)
7502
      ecost:
7503
        type:
7504
          - number
7505
          - 'null'
7506
        description: Effective cost
7507
      ecost_tax_excluded:
7508
        type:
7509
          - number
7510
          - 'null'
7511
        description: Effective cost (tax excluded)
7512
      ecost_tax_included:
7513
        type:
7514
          - number
7515
          - 'null'
7516
        description: Effective cost (tax included)
7517
      tax_rate_on_ordering:
7518
        type:
7519
          - number
7520
          - 'null'
7521
        description: Tax rate on ordering (%)
7522
      tax_rate_on_receiving:
7523
        type:
7524
          - number
7525
          - 'null'
7526
        description: Tax rate on receiving (%)
7527
      tax_value_on_ordering:
7528
        type:
7529
          - number
7530
          - 'null'
7531
        description: Tax value on ordering
7532
      tax_value_on_receiving:
7533
        type:
7534
          - number
7535
          - 'null'
7536
        description: Tax value on receiving
7537
      discount_rate:
7538
        type:
7539
          - number
7540
          - 'null'
7541
        description: Discount rate
7542
      fund_id:
7543
        type: integer
7544
        description: Internal identifier for the fund this order goes against
7545
      statistics_1:
7546
        type:
7547
          - string
7548
          - 'null'
7549
        description: Statistical field
7550
      statistics_2:
7551
        type:
7552
          - string
7553
          - 'null'
7554
        description: Statistical field (2)
7555
      statistics_1_authcat:
7556
        type:
7557
          - string
7558
          - 'null'
7559
        description: Statistical category for this order
7560
      statistics_2_authcat:
7561
        type:
7562
          - string
7563
          - 'null'
7564
        description: Statistical category for this order (2)
7565
      uncertain_price:
7566
        type: boolean
7567
        description: If this price was uncertain
7568
      claims_count:
7569
        type: integer
7570
        description: Generated claim letters count
7571
      last_claim_date:
7572
        type:
7573
          - string
7574
          - 'null'
7575
        format: date
7576
        description: Last date a claim letter was generated
7577
      subscription_id:
7578
        type:
7579
          - integer
7580
          - 'null'
7581
        description: Subscription ID linking the order to a subscription
7582
      parent_order_id:
7583
        type:
7584
          - integer
7585
          - 'null'
7586
        description: Order ID of parent order line if exists
7587
      status:
7588
        type: string
7589
        enum:
7590
          - new
7591
          - ordered
7592
          - partial
7593
          - complete
7594
          - cancelled
7595
        description: The current order status
7596
      basket:
7597
        type:
7598
          - object
7599
          - 'null'
7600
      biblio:
7601
        type:
7602
          - object
7603
          - 'null'
7604
      current_item_level_holds_count:
7605
        type: integer
7606
        description: Current holds count for associated items
7607
      fund:
7608
        type:
7609
          - object
7610
          - 'null'
7611
      invoice:
7612
        type:
7613
          - object
7614
          - 'null'
7615
      items:
7616
        type: array
7617
      subscription:
7618
        type:
7619
          - object
7620
          - 'null'
7621
    additionalProperties: false
7622
  patron:
7623
    type: object
7624
    properties:
7625
      patron_id:
7626
        $ref: '#/x-primitives/patron_id'
7627
      cardnumber:
7628
        $ref: '#/x-primitives/cardnumber'
7629
      surname:
7630
        $ref: '#/x-primitives/surname'
7631
      firstname:
7632
        $ref: '#/x-primitives/firstname'
7633
      title:
7634
        type:
7635
          - string
7636
          - 'null'
7637
        description: patron's title
7638
      other_name:
7639
        type:
7640
          - string
7641
          - 'null'
7642
        description: any other names associated with the patron
7643
      initials:
7644
        type:
7645
          - string
7646
          - 'null'
7647
        description: initials of the patron
7648
      street_number:
7649
        type:
7650
          - string
7651
          - 'null'
7652
        description: street number of patron's primary address
7653
      street_type:
7654
        type:
7655
          - string
7656
          - 'null'
7657
        description: street type of patron's primary address
7658
      address:
7659
        type:
7660
          - string
7661
          - 'null'
7662
        description: first address line of patron's primary address
7663
      address2:
7664
        type:
7665
          - string
7666
          - 'null'
7667
        description: second address line of patron's primary address
7668
      city:
7669
        type:
7670
          - string
7671
          - 'null'
7672
        description: city or town of patron's primary address
7673
      state:
7674
        type:
7675
          - string
7676
          - 'null'
7677
        description: state or province of patron's primary address
7678
      postal_code:
7679
        type:
7680
          - string
7681
          - 'null'
7682
        description: zip or postal code of patron's primary address
7683
      country:
7684
        type:
7685
          - string
7686
          - 'null'
7687
        description: country of patron's primary address
7688
      email:
7689
        $ref: '#/x-primitives/email'
7690
      phone:
7691
        $ref: '#/x-primitives/phone'
7692
      mobile:
7693
        type:
7694
          - string
7695
          - 'null'
7696
        description: the other phone number for patron's primary address
7697
      fax:
7698
        type:
7699
          - string
7700
          - 'null'
7701
        description: fax number for patron's primary address
7702
      secondary_email:
7703
        type:
7704
          - string
7705
          - 'null'
7706
        description: secondary email address for patron's primary address
7707
      secondary_phone:
7708
        type:
7709
          - string
7710
          - 'null'
7711
        description: secondary phone number for patron's primary address
7712
      altaddress_street_number:
7713
        type:
7714
          - string
7715
          - 'null'
7716
        description: street number of patron's alternate address
7717
      altaddress_street_type:
7718
        type:
7719
          - string
7720
          - 'null'
7721
        description: street type of patron's alternate address
7722
      altaddress_address:
7723
        type:
7724
          - string
7725
          - 'null'
7726
        description: first address line of patron's alternate address
7727
      altaddress_address2:
7728
        type:
7729
          - string
7730
          - 'null'
7731
        description: second address line of patron's alternate address
7732
      altaddress_city:
7733
        type:
7734
          - string
7735
          - 'null'
7736
        description: city or town of patron's alternate address
7737
      altaddress_state:
7738
        type:
7739
          - string
7740
          - 'null'
7741
        description: state or province of patron's alternate address
7742
      altaddress_postal_code:
7743
        type:
7744
          - string
7745
          - 'null'
7746
        description: zip or postal code of patron's alternate address
7747
      altaddress_country:
7748
        type:
7749
          - string
7750
          - 'null'
7751
        description: country of patron's alternate address
7752
      altaddress_email:
7753
        type:
7754
          - string
7755
          - 'null'
7756
        description: email address for patron's alternate address
7757
      altaddress_phone:
7758
        type:
7759
          - string
7760
          - 'null'
7761
        description: phone number for patron's alternate address
7762
      date_of_birth:
7763
        type:
7764
          - string
7765
          - 'null'
7766
        format: date
7767
        description: patron's date of birth
7768
      library_id:
7769
        type: string
7770
        description: Internal identifier for the patron's home library
7771
      category_id:
7772
        type: string
7773
        description: Internal identifier for the patron's category
7774
      date_enrolled:
7775
        type:
7776
          - string
7777
          - 'null'
7778
        format: date
7779
        description: date the patron was added to Koha
7780
      expiry_date:
7781
        type:
7782
          - string
7783
          - 'null'
7784
        format: date
7785
        description: date the patron's card is set to expire
7786
      date_renewed:
7787
        type:
7788
          - string
7789
          - 'null'
7790
        format: date
7791
        description: date the patron's card was last renewed
7792
      incorrect_address:
7793
        type:
7794
          - boolean
7795
          - 'null'
7796
        description: set to 1 if library marked this patron as having an unconfirmed address
7797
      patron_card_lost:
7798
        type:
7799
          - boolean
7800
          - 'null'
7801
        description: set to 1 if library marked this patron as having lost his card
7802
      restricted:
7803
        type: boolean
7804
        readOnly: true
7805
        description: If any restriction applies to the patron
7806
      staff_notes:
7807
        type:
7808
          - string
7809
          - 'null'
7810
        description: a note on the patron's account
7811
      relationship_type:
7812
        type:
7813
          - string
7814
          - 'null'
7815
        description: used for children to include the relationship to their guarantor
7816
      gender:
7817
        type:
7818
          - string
7819
          - 'null'
7820
        description: patron's gender
7821
      userid:
7822
        type:
7823
          - string
7824
          - 'null'
7825
        description: patron's login
7826
      opac_notes:
7827
        type:
7828
          - string
7829
          - 'null'
7830
        description: a note on the patron's account visible in OPAC and staff interface
7831
      altaddress_notes:
7832
        type:
7833
          - string
7834
          - 'null'
7835
        description: a note related to patron's alternate address
7836
      statistics_1:
7837
        type:
7838
          - string
7839
          - 'null'
7840
        description: a field that can be used for any information unique to the library
7841
      statistics_2:
7842
        type:
7843
          - string
7844
          - 'null'
7845
        description: a field that can be used for any information unique to the library
7846
      autorenew_checkouts:
7847
        type: boolean
7848
        description: indicate whether auto-renewal is allowed for patron
7849
      altcontact_firstname:
7850
        type:
7851
          - string
7852
          - 'null'
7853
        description: first name of alternate contact for the patron
7854
      altcontact_surname:
7855
        type:
7856
          - string
7857
          - 'null'
7858
        description: surname or last name of the alternate contact for the patron
7859
      altcontact_address:
7860
        type:
7861
          - string
7862
          - 'null'
7863
        description: the first address line for the alternate contact for the patron
7864
      altcontact_address2:
7865
        type:
7866
          - string
7867
          - 'null'
7868
        description: the second address line for the alternate contact for the patron
7869
      altcontact_city:
7870
        type:
7871
          - string
7872
          - 'null'
7873
        description: the city for the alternate contact for the patron
7874
      altcontact_state:
7875
        type:
7876
          - string
7877
          - 'null'
7878
        description: the state for the alternate contact for the patron
7879
      altcontact_postal_code:
7880
        type:
7881
          - string
7882
          - 'null'
7883
        description: the zipcode for the alternate contact for the patron
7884
      altcontact_country:
7885
        type:
7886
          - string
7887
          - 'null'
7888
        description: the country for the alternate contact for the patron
7889
      altcontact_phone:
7890
        type:
7891
          - string
7892
          - 'null'
7893
        description: the phone number for the alternate contact for the patron
7894
      sms_number:
7895
        type:
7896
          - string
7897
          - 'null'
7898
        description: the mobile phone number where the patron would like to receive notices (if SMS turned on)
7899
      sms_provider_id:
7900
        type:
7901
          - integer
7902
          - 'null'
7903
        description: the provider of the mobile phone number defined in smsalertnumber
7904
      privacy:
7905
        type: integer
7906
        description: patron's privacy settings related to their checkout history
7907
      privacy_guarantor_checkouts:
7908
        type: integer
7909
        description: controls if relatives can see this patron's checkouts
7910
      privacy_guarantor_fines:
7911
        type: boolean
7912
        description: controls if relatives can see this patron's fines
7913
      check_previous_checkout:
7914
        type: string
7915
        description: 'produce a warning for this patron if this item has previously been checked out to this patron if ''yes'', not if ''no'', defer to category setting if ''inherit'''
7916
      updated_on:
7917
        type: string
7918
        format: date-time
7919
        description: time of last change could be useful for synchronization with external systems (among others)
7920
      last_seen:
7921
        type:
7922
          - string
7923
          - 'null'
7924
        format: date-time
7925
        description: last time a patron has been seen (connected at the OPAC or staff interface)
7926
      lang:
7927
        type: string
7928
        description: lang to use to send notices to this patron
7929
      login_attempts:
7930
        type:
7931
          - integer
7932
          - 'null'
7933
        description: number of failed login attemps
7934
      overdrive_auth_token:
7935
        type:
7936
          - string
7937
          - 'null'
7938
        description: persist OverDrive auth token
7939
      anonymized:
7940
        type: boolean
7941
        readOnly: true
7942
        description: If the patron has been anonymized
7943
      extended_attributes:
7944
        type: array
7945
        description: patron's extended attributes
7946
        items:
7947
          $ref: '#/definitions/patron_extended_attribute'
7948
    additionalProperties: false
7949
    required:
7950
      - surname
7951
      - address
7952
      - city
7953
      - library_id
7954
      - category_id
7955
  patron_account_credit:
7956
    type: object
7957
    properties:
7958
      credit_type:
7959
        type: string
7960
        description: 'Type of credit (''CREDIT'', ''FORGIVEN'', ''LOST_FOUND'', ''PAYMENT'', ''WRITEOFF'' )'
7961
      amount:
7962
        type: number
7963
        minimum: 0
7964
        description: Credit amount
7965
      library_id:
7966
        type:
7967
          - string
7968
          - 'null'
7969
        description: Internal identifier for the library in which the transaction took place
7970
      account_lines_ids:
7971
        type: array
7972
        items:
7973
          type: integer
7974
        description: List of account line ids the credit goes against (optional)
7975
      payment_type:
7976
        type: string
7977
        description: Payment type (only applies when credit_type=payment)
7978
      date:
7979
        type: string
7980
        format: date
7981
        description: Date the credit was recorded (optional)
7982
      description:
7983
        type: string
7984
        description: Description
7985
      note:
7986
        type: string
7987
        description: Internal note
7988
    required:
7989
      - amount
7990
    additionalProperties: false
7991
  patron_balance:
7992
    type: object
7993
    properties:
7994
      balance:
7995
        type: number
7996
        description: Signed decimal number
7997
      outstanding_credits:
7998
        properties:
7999
          total:
8000
            type: number
8001
          lines:
8002
            type: array
8003
            items:
8004
              $ref: '#/definitions/account_line'
8005
      outstanding_debits:
8006
        type: object
8007
        properties:
8008
          total:
8009
            type: number
8010
          lines:
8011
            type: array
8012
            items:
8013
              $ref: '#/definitions/account_line'
8014
    additionalProperties: false
8015
    required:
8016
      - balance
8017
  patron_extended_attribute:
8018
    type: object
8019
    properties:
8020
      extended_attribute_id:
8021
        description: Internal ID for the extended attribute
8022
        type: integer
8023
      type:
8024
        description: Extended attribute type
8025
        type: string
8026
      value:
8027
        description: Extended attribute value
8028
        type:
8029
          - string
8030
    additionalProperties: false
8031
    required:
8032
      - type
8033
      - value
8034
  quote:
8035
    type: object
8036
    properties:
8037
      quote_id:
8038
        $ref: '#/x-primitives/quote_id'
8039
      source:
8040
        description: source of the quote
8041
        type: string
8042
      text:
8043
        description: text
8044
        type:
8045
          - string
8046
          - 'null'
8047
      displayed_on:
8048
        description: Last display date
8049
        type:
8050
          - string
8051
          - 'null'
8052
    additionalProperties: false
8053
    required:
8054
      - quote_id
8055
      - source
8056
      - text
8057
  return_claim:
8058
    type: object
8059
    properties:
8060
      claim_id:
8061
        type:
8062
          - integer
8063
        description: internally assigned return claim identifier
8064
      item_id:
8065
        type:
8066
          - integer
8067
        description: internal identifier of the claimed item
8068
      issue_id:
8069
        type:
8070
          - integer
8071
          - 'null'
8072
        description: internal identifier of the claimed checkout if still checked out
8073
      old_issue_id:
8074
        type:
8075
          - integer
8076
          - 'null'
8077
        description: internal identifier of the claimed checkout if not longer checked out
8078
      patron_id:
8079
        $ref: '#/x-primitives/patron_id'
8080
      notes:
8081
        type:
8082
          - string
8083
          - 'null'
8084
        description: notes about this claim
8085
      created_on:
8086
        type:
8087
          - string
8088
          - 'null'
8089
        format: date-time
8090
        description: date of claim creation
8091
      created_by:
8092
        type:
8093
          - integer
8094
          - 'null'
8095
        description: patron id of librarian who made the claim
8096
      updated_on:
8097
        type:
8098
          - string
8099
          - 'null'
8100
        format: date-time
8101
        description: date the claim was last updated
8102
      updated_by:
8103
        type:
8104
          - integer
8105
          - 'null'
8106
        description: patron id of librarian who last updated the claim
8107
      resolution:
8108
        type:
8109
          - string
8110
          - 'null'
8111
        description: code of resolution type for this claim
8112
      resolved_on:
8113
        type:
8114
          - string
8115
          - 'null'
8116
        format: date-time
8117
        description: date the claim was resolved
8118
      resolved_by:
8119
        type:
8120
          - integer
8121
          - 'null'
8122
        description: patron id of librarian who resolved this claim
8123
    additionalProperties: false
8124
  smtp_server:
8125
    type: object
8126
    properties:
8127
      smtp_server_id:
8128
        type: integer
8129
        description: Internal SMTP server identifier
8130
        readOnly: true
8131
      name:
8132
        type: string
8133
        description: Name of the SMTP server
8134
      host:
8135
        type: string
8136
        description: SMTP host name
8137
      port:
8138
        type: integer
8139
        description: TCP port number
8140
      timeout:
8141
        type: integer
8142
        description: Maximum time in seconds to wait for server
8143
      ssl_mode:
8144
        type: string
8145
        enum:
8146
          - disabled
8147
          - ssl
8148
          - starttls
8149
        description: If SSL/TLS will be used
8150
      user_name:
8151
        type:
8152
          - string
8153
          - 'null'
8154
        description: The user name to use for authentication (optional)
8155
      password:
8156
        type:
8157
          - string
8158
          - 'null'
8159
        description: The password to use for authentication (optional)
8160
      debug:
8161
        type: boolean
8162
        description: If the SMTP connection is set to debug mode
8163
    additionalProperties: false
8164
    required:
8165
      - name
8166
  suggestion:
8167
    type: object
8168
    properties:
8169
      suggestion_id:
8170
        type: integer
8171
        readOnly: true
8172
        description: unique identifier assigned automatically by Koha
8173
      suggested_by:
8174
        type:
8175
          - integer
8176
          - 'null'
8177
        description: 'patron_id for the person making the suggestion, foreign key linking to the borrowers table'
8178
      suggestion_date:
8179
        type: string
8180
        format: date
8181
        description: the suggestion was submitted
8182
      managed_by:
8183
        type:
8184
          - integer
8185
          - 'null'
8186
        description: 'patron_id for the librarian managing the suggestion, foreign key linking to the borrowers table'
8187
      managed_date:
8188
        type:
8189
          - string
8190
          - 'null'
8191
        format: date
8192
        description: date the suggestion was updated
8193
      accepted_by:
8194
        type:
8195
          - integer
8196
          - 'null'
8197
        description: 'patron_id for the librarian who accepted the suggestion, foreign key linking to the borrowers table'
8198
      accepted_date:
8199
        type:
8200
          - string
8201
          - 'null'
8202
        format: date
8203
        description: date the suggestion was marked as accepted
8204
      rejected_by:
8205
        type:
8206
          - integer
8207
          - 'null'
8208
        description: 'patron_id for the librarian who rejected the suggestion, foreign key linking to the borrowers table'
8209
      rejected_date:
8210
        type:
8211
          - string
8212
          - 'null'
8213
        format: date
8214
        description: date the suggestion was marked as rejected
8215
      last_status_change_by:
8216
        type:
8217
          - integer
8218
          - 'null'
8219
        description: patron the suggestion was last modified by
8220
      last_status_change_date:
8221
        type:
8222
          - string
8223
          - 'null'
8224
        format: date
8225
        description: date the suggestion was last modified
8226
      status:
8227
        type: string
8228
        description: Suggestion status
8229
        enum:
8230
          - ASKED
8231
          - CHECKED
8232
          - ACCEPTED
8233
          - REJECTED
8234
      note:
8235
        type:
8236
          - string
8237
          - 'null'
8238
        description: note entered on the suggestion
8239
      author:
8240
        type:
8241
          - string
8242
          - 'null'
8243
        description: author of the suggested item
8244
      title:
8245
        type:
8246
          - string
8247
          - 'null'
8248
        description: title of the suggested item
8249
      copyright_date:
8250
        type:
8251
          - integer
8252
          - 'null'
8253
        description: copyright date of the suggested item
8254
      publisher_code:
8255
        type:
8256
          - string
8257
          - 'null'
8258
        description: publisher of the suggested item
8259
      timestamp:
8260
        type:
8261
          - string
8262
          - 'null'
8263
        format: date-time
8264
        description: timestamp of date created
8265
      volume_desc:
8266
        type:
8267
          - string
8268
          - 'null'
8269
        description: volume description
8270
      publication_year:
8271
        type:
8272
          - string
8273
          - 'null'
8274
        description: year of publication
8275
      publication_place:
8276
        type:
8277
          - string
8278
          - 'null'
8279
        description: publication place of the suggested item
8280
      isbn:
8281
        type:
8282
          - string
8283
          - 'null'
8284
        description: isbn of the suggested item
8285
      biblio_id:
8286
        type:
8287
          - integer
8288
          - 'null'
8289
        description: foreign key linking the suggestion to the biblio table after the suggestion has been ordered
8290
      reason:
8291
        type:
8292
          - string
8293
          - 'null'
8294
        description: reason for accepting or rejecting the suggestion
8295
      patron_reason:
8296
        type:
8297
          - string
8298
          - 'null'
8299
        description: reason for making the suggestion
8300
      budget_id:
8301
        type:
8302
          - integer
8303
          - 'null'
8304
        description: foreign key linking the suggested budget to the aqbudgets table
8305
      library_id:
8306
        type:
8307
          - string
8308
          - 'null'
8309
        description: foreign key linking the suggested branch to the branches table
8310
      collection_title:
8311
        type:
8312
          - string
8313
          - 'null'
8314
        description: collection name for the suggested item
8315
      item_type:
8316
        type:
8317
          - string
8318
          - 'null'
8319
        description: suggested item type
8320
      quantity:
8321
        type:
8322
          - string
8323
          - 'null'
8324
        description: suggested quantity to be purchased
8325
      currency:
8326
        type:
8327
          - string
8328
          - 'null'
8329
        description: suggested currency for the suggested price
8330
      item_price:
8331
        type:
8332
          - number
8333
          - 'null'
8334
        description: suggested price
8335
      total_price:
8336
        type:
8337
          - string
8338
          - 'null'
8339
        description: suggested total cost (price*quantity updated for currency)
8340
      archived:
8341
        type:
8342
          - boolean
8343
          - 'null'
8344
        description: archived (processed) suggestion
8345
    additionalProperties: false
8346
  transfer_limit:
8347
    type: object
8348
    properties:
8349
      limit_id:
8350
        type: integer
8351
        description: Internal transfer limit identifier
8352
      to_library_id:
8353
        type: string
8354
        description: Internal library id for which library the item is going to
8355
      from_library_id:
8356
        type: string
8357
        description: Internal library id for which library the item is coming from
8358
      item_type:
8359
        type:
8360
          - string
8361
          - 'null'
8362
        description: Itemtype defining the type for this limi
8363
      collection_code:
8364
        type:
8365
          - string
8366
          - 'null'
8367
        description: Authorized value for the collection code associated with this limit
8368
    additionalProperties: false
8369
    required:
8370
      - to_library_id
8371
      - from_library_id
8372
  vendor:
8373
    type: object
8374
    properties:
8375
      id:
8376
        $ref: '#/x-primitives/vendor_id'
8377
      name:
8378
        type:
8379
          - string
8380
        description: Vendor name
8381
      address1:
8382
        type:
8383
          - string
8384
          - 'null'
8385
        description: Vendor physical address (line 1)
8386
      address2:
8387
        type:
8388
          - string
8389
          - 'null'
8390
        description: Vendor physical address (line 2)
8391
      address3:
8392
        type:
8393
          - string
8394
          - 'null'
8395
        description: Vendor physical address (line 3)
8396
      address4:
8397
        type:
8398
          - string
8399
          - 'null'
8400
        description: Vendor physical address (line 4)
8401
      phone:
8402
        type:
8403
          - string
8404
          - 'null'
8405
        description: Vendor phone number
8406
      fax:
8407
        type:
8408
          - string
8409
          - 'null'
8410
        description: Vendor fax number
8411
      accountnumber:
8412
        type:
8413
          - string
8414
          - 'null'
8415
        description: Vendor account number
8416
      notes:
8417
        type:
8418
          - string
8419
          - 'null'
8420
        description: Vendor notes
8421
      postal:
8422
        type:
8423
          - string
8424
          - 'null'
8425
        description: Vendor postal address
8426
      url:
8427
        type:
8428
          - string
8429
          - 'null'
8430
        description: Vendor web address
8431
      active:
8432
        type:
8433
          - boolean
8434
          - 'null'
8435
        description: Is this vendor active
8436
      list_currency:
8437
        type:
8438
          - string
8439
          - 'null'
8440
        description: List prices currency
8441
      invoice_currency:
8442
        type:
8443
          - string
8444
          - 'null'
8445
        description: Invoice prices currency
8446
      gst:
8447
        type:
8448
          - boolean
8449
          - 'null'
8450
        description: Is the library taxed when buying from this vendor
8451
      list_includes_gst:
8452
        type:
8453
          - boolean
8454
          - 'null'
8455
        description: List prices include taxes
8456
      invoice_includes_gst:
8457
        type:
8458
          - boolean
8459
          - 'null'
8460
        description: Invoice prices include taxes
8461
      tax_rate:
8462
        type:
8463
          - number
8464
          - 'null'
8465
        description: Default tax rate for items ordered from this vendor
8466
      discount:
8467
        type:
8468
          - number
8469
          - 'null'
8470
        description: Default discount rate for items ordered from this vendor
8471
      deliverytime:
8472
        type:
8473
          - integer
8474
          - 'null'
8475
        description: Expected delivery time (in days)
8476
    additionalProperties: false
8477
    required:
8478
      - name
8479
parameters:
8480
  advancededitormacro_id_pp:
8481
    name: advancededitormacro_id
8482
    in: path
8483
    description: Advanced editor macro internal identifier
8484
    required: true
8485
    type: integer
8486
  biblio_id_pp:
8487
    name: biblio_id
8488
    in: path
8489
    description: Record internal identifier
8490
    required: true
8491
    type: integer
8492
  cash_register_id_pp:
8493
    name: cash_register_id
8494
    in: path
8495
    description: Cash register internal identifier
8496
    required: true
8497
    type: integer
8498
  cashup_id_pp:
8499
    name: cashup_id
8500
    in: path
8501
    description: Cashup internal identifier
8502
    required: true
8503
    type: integer
8504
  checkout_id_pp:
8505
    name: checkout_id
8506
    in: path
8507
    description: Internal checkout identifier
8508
    required: true
8509
    type: integer
8510
  city_id_pp:
8511
    name: city_id
8512
    in: path
8513
    description: City internal identifier
8514
    required: true
8515
    type: integer
8516
  club_id_pp:
8517
    name: club_id
8518
    in: path
8519
    description: Internal club identifier
8520
    required: true
8521
    type: integer
8522
  fund_id_pp:
8523
    name: fund_id
8524
    in: path
8525
    description: Fund id
8526
    required: true
8527
    type: integer
8528
  hold_id_pp:
8529
    name: hold_id
8530
    in: path
8531
    description: Internal hold identifier
8532
    required: true
8533
    type: integer
8534
  import_batch_profile_id_pp:
8535
    name: import_batch_profile_id
8536
    in: path
8537
    description: Internal profile identifier
8538
    required: true
8539
    type: integer
8540
  item_id_pp:
8541
    name: item_id
8542
    in: path
8543
    description: Internal item identifier
8544
    required: true
8545
    type: integer
8546
  library_id_pp:
8547
    name: library_id
8548
    in: path
8549
    description: Internal library identifier
8550
    required: true
8551
    type: string
8552
  match:
8553
    name: _match
8554
    in: query
8555
    required: false
8556
    description: Matching criteria
8557
    type: string
8558
    enum:
8559
      - contains
8560
      - exact
8561
      - starts_with
8562
      - ends_with
8563
  order_by:
8564
    name: _order_by
8565
    in: query
8566
    required: false
8567
    description: Sorting criteria
8568
    type: array
8569
    collectionFormat: csv
8570
    items:
8571
      type: string
8572
  order_id_pp:
8573
    name: order_id
8574
    in: path
8575
    description: Internal order identifier
8576
    required: true
8577
    type: integer
8578
  page:
8579
    name: _page
8580
    in: query
8581
    required: false
8582
    description: 'Page number, for paginated object listing'
8583
    type: integer
8584
  patron_id_pp:
8585
    name: patron_id
8586
    in: path
8587
    description: Internal patron identifier
8588
    required: true
8589
    type: integer
8590
  patron_id_qp:
8591
    name: patron_id
8592
    in: query
8593
    description: Internal patron identifier
8594
    type: integer
8595
  per_page:
8596
    name: _per_page
8597
    in: query
8598
    required: false
8599
    description: 'Page size, for paginated object listing'
8600
    type: integer
8601
  q_body:
8602
    name: query
8603
    in: body
8604
    required: false
8605
    description: Query filter sent through request's body
8606
    schema:
8607
      type: object
8608
  q_param:
8609
    name: q
8610
    in: query
8611
    required: false
8612
    description: Query filter sent as a request parameter
8613
    type: string
8614
  q_header:
8615
    name: x-koha-query
8616
    in: header
8617
    required: false
8618
    description: Query filter sent as a request header
8619
    type: string
8620
  quote_id_pp:
8621
    name: quote_id
8622
    in: path
8623
    description: Quote internal identifier
8624
    required: true
8625
    type: integer
8626
  seen_pp:
8627
    name: seen
8628
    in: query
8629
    description: Item was seen flag
8630
    required: false
8631
    type: integer
8632
  smtp_server_id_pp:
8633
    name: smtp_server_id
8634
    in: path
8635
    description: SMTP server internal identifier
8636
    required: true
8637
    type: integer
8638
  suggestion_id_pp:
8639
    name: suggestion_id
8640
    in: path
8641
    description: Internal suggestion identifier
8642
    required: true
8643
    type: integer
8644
  transfer_limit_id_pp:
8645
    name: limit_id
8646
    in: path
8647
    description: Internal transfer limit identifier
8648
    required: true
8649
    type: string
8650
  vendor_id_pp:
8651
    name: vendor_id
8652
    in: path
8653
    description: Vendor id
8654
    required: true
8655
    type: integer
8656
x-primitives:
8657
  biblio_id:
8658
    type: integer
8659
    description: Internal biblio identifier
8660
  advancededitormacro_id:
8661
    type: integer
8662
    description: Internal advanced editor macro identifier
8663
    readOnly: true
8664
  patron_id:
8665
    type: integer
8666
    description: Internal patron identifier
8667
  library_id:
8668
    type: string
8669
    description: internally assigned library identifier
8670
    maxLength: 10
8671
    minLength: 1
8672
  limit_id:
8673
    type: integer
8674
    description: Internal transfer limit identifier
8675
  cardnumber:
8676
    type:
8677
      - string
8678
      - 'null'
8679
    description: library assigned user identifier
8680
  city_id:
8681
    type: integer
8682
    description: internally assigned city identifier
8683
    readOnly: true
8684
  email:
8685
    type:
8686
      - string
8687
      - 'null'
8688
    description: primary email address for patron's primary address
8689
  firstname:
8690
    type:
8691
      - string
8692
      - 'null'
8693
    description: patron's first name
8694
  phone:
8695
    type:
8696
      - string
8697
      - 'null'
8698
    description: primary phone number for patron's primary address
8699
  surname:
8700
    type:
8701
      - string
8702
      - 'null'
8703
    description: patron's last name
8704
  vendor_id:
8705
    type: integer
8706
    description: internally assigned vendor identifier
8707
    readOnly: true
8708
  fund_id:
8709
    type: integer
8710
    description: internally assigned fund identifier
8711
    readOnly: true
8712
  quote_id:
8713
    type: integer
8714
    description: internally assigned quote identifier
8715
    readOnly: true
8716
info:
8717
  title: Koha REST API
8718
  version: '1'
8719
  license:
8720
    name: 'GPL v3,'
8721
    url: 'http://www.gnu.org/licenses/gpl.txt'
8722
  contact:
8723
    name: Koha Development Team
8724
    url: 'https://koha-community.org/'
8725
  description: |
8726
    ## Introduction
8727
8728
    This API is documented in **OpenAPI format**.
8729
8730
    ## Authentication
8731
8732
    The API supports the following authentication mechanisms
8733
8734
    * HTTP Basic authentication
8735
    * OAuth2 (client credentials grant)
8736
    * Cookie-based
8737
8738
    Both _Basic authentication_ and the _OAuth2_ flow, need to be enabled
8739
    by system preferences.
8740
8741
    ## Errors
8742
8743
    The API uses standard HTTP status codes to indicate the success or failure
8744
    of the API call. The body of the response will be JSON in the following format:
8745
8746
    ```
8747
    {
8748
      "error": "Current settings prevent the passed due date to be applied",
8749
      "error_code": "invalid_due_date"
8750
    }
8751
    ```
8752
8753
    Note: Some routes might offer additional attributes in their error responses but that's
8754
    subject to change and thus not documented.
8755
8756
    ## Filtering responses
8757
8758
    The API allows for some advanced response filtering using a JSON based query syntax. The
8759
    query can be added to the requests:
8760
8761
    * as a query parameter `q=`
8762
    * in the request body
8763
    * in a special header `x-koha-query`
8764
8765
    For simple field equality matches we can use `{ "fieldname": "value" }` where the fieldname
8766
    matches one of the fields as described in the particular endpoints response object.
8767
8768
    We can refine that with more complex matching clauses by nesting a the clause into the
8769
    object; `{ "fieldname": { "clause": "value" } }`.
8770
8771
    Available matching clauses include ">", "<", ">=", "<=", "-like", and "-not_like".
8772
8773
    We can filter on multiple fields by adding them to the JSON respresentation. Adding at `HASH`
8774
    level will result in an 'AND' query, whilst combinding them in an `ARRAY` wilth result in an
8775
    'OR' query: `{ "field1": 'value2', "field2": "value2" }` will filter the response to only those
8776
    results with both field1 containing value2 AND field2 containing value2 for example.
8777
8778
    ### Examples
8779
8780
    The following request would return any patron with firstname "Henry" and lastname "Acevedo";
8781
8782
    `curl -u koha:koha --request GET 'http://127.0.0.1:8081/api/v1/patrons/' --data-raw '{ "surname": "Acevedo", "firstname": "Henry" }'`
8783
8784
    The following request would return any patron whose lastname begins with "Ace";
8785
8786
    `curl -u koha:koha --request GET 'http://127.0.0.1:8081/api/v1/patrons/' --data-raw '{ "surname": { "-like": "Ace%" }'`
8787
8788
    The following request would return any patron whilse lastname is 'Acevedo' OR 'Bernardo'
8789
8790
    `curl -u koha:koha --request GET 'http://127.0.0.1:8081/api/v1/patrons/' --data-raw '{ "surname": [ "Acevedo", "Bernardo" ] }'`
8791
8792
    ## Special headers
8793
8794
    ### x-koha-library
8795
8796
    This optional header should be passed to give your api request a library
8797
    context; If it is not included in the request, then the request context
8798
    will default to using your api comsumer's assigned home library.
8799
tags:
8800
  - name: article_requests
8801
    x-displayName: Article requests
8802
    description: |
8803
      Manage article requests
8804
  - name: biblios
8805
    x-displayName: Biblios
8806
    description: |
8807
      Manage bibliographic records
8808
  - name: cashups
8809
    x-displayName: Cashups
8810
    description: |
8811
      Manage cash register cashups
8812
  - name: checkouts
8813
    x-displayName: Checkouts
8814
    description: |
8815
      Manage checkouts
8816
  - name: circulation_rules
8817
    x-displayName: Circulation rules
8818
    description: |
8819
      Manage circulation rules
8820
  - name: cities
8821
    x-displayName: Cities
8822
    description: |
8823
      Manage cities
8824
  - name: clubs
8825
    x-displayName: Clubs
8826
    description: |
8827
      Manage patron clubs
8828
  - name: funds
8829
    x-displayName: Funds
8830
    description: |
8831
      Manage funds for the acquisitions module
8832
  - name: holds
8833
    x-displayName: Holds
8834
    description: |
8835
      Manage holds
8836
  - name: illbackends
8837
    x-displayName: ILL backends
8838
    description: |
8839
      Manage ILL module backends
8840
  - name: illrequests
8841
    x-displayName: ILL requests
8842
    description: |
8843
      Manage ILL requests
8844
  - name: items
8845
    x-displayName: Items
8846
    description: |
8847
      Manage items
8848
  - name: libraries
8849
    x-displayName: Libraries
8850
    description: |
8851
      Manage libraries
8852
  - name: macros
8853
    x-displayName: Macros
8854
    description: |
8855
      Manage macros
8856
  - name: orders
8857
    x-displayName: Orders
8858
    description: |
8859
      Manage acquisition orders
8860
  - name: oauth
8861
    x-displayName: OAuth
8862
    description: |
8863
      Handle OAuth flows
8864
  - name: patrons
8865
    x-displayName: Patrons
8866
    description: |
8867
      Manage patrons
8868
  - name: quotes
8869
    x-displayName: Quotes
8870
    description: |
8871
      Manage quotes
8872
  - name: return_claims
8873
    x-displayName: Return claims
8874
    description: |
8875
      Manage return claims
8876
  - name: rotas
8877
    x-displayName: Rotas
8878
    description: |
8879
      Manage rotas
8880
  - name: smtp_servers
8881
    x-displayName: SMTP servers
8882
    description: |
8883
      Manage SMTP servers configurations
8884
  - name: transfer
8885
    x-displayName: Transfer limits
8886
    description: |
8887
      Manage transfer limits
8888
  - name: suggestions
8889
    x-displayName: Purchase suggestions
8890
    description: |
8891
      Manage purchase suggestions
8892
  - name: vendors
8893
    x-displayName: Vendors
8894
    description: |
8895
      Manage vendors for the acquisitions module
8896
  - name: batch_import_profiles
8897
    x-displayName: Batch import profiles
8898
    description: |
8899
      Manage batch import profiles
(-)a/gulpfile.js (+11 lines)
Lines 22-27 const Vinyl = require('vinyl'); Link Here
22
const args = require('minimist')(process.argv.slice(2));
22
const args = require('minimist')(process.argv.slice(2));
23
const rename = require('gulp-rename');
23
const rename = require('gulp-rename');
24
24
25
const API_BASE = "api/v1/swagger";
25
const STAFF_JS_BASE = "koha-tmpl/intranet-tmpl/prog/js";
26
const STAFF_JS_BASE = "koha-tmpl/intranet-tmpl/prog/js";
26
const STAFF_CSS_BASE = "koha-tmpl/intranet-tmpl/prog/css";
27
const STAFF_CSS_BASE = "koha-tmpl/intranet-tmpl/prog/css";
27
const OPAC_JS_BASE = "koha-tmpl/opac-tmpl/bootstrap/js";
28
const OPAC_JS_BASE = "koha-tmpl/opac-tmpl/bootstrap/js";
Lines 85-90 function build() { Link Here
85
    return stream;
86
    return stream;
86
}
87
}
87
88
89
// Bundle the spec into a single file
90
function spec() {
91
    return src(API_BASE)
92
        .pipe(exec(`swagger-cli bundle \
93
                        -t yaml \
94
                        --outfile api/v1/swagger/swagger_bundle.yaml \
95
                        api/v1/swagger/swagger.yaml`));
96
};
97
88
const poTasks = {
98
const poTasks = {
89
    'marc-MARC21': {
99
    'marc-MARC21': {
90
        extract: po_extract_marc_marc21,
100
        extract: po_extract_marc_marc21,
Lines 359-364 function getLanguages () { Link Here
359
369
360
exports.build = build;
370
exports.build = build;
361
exports.css = css;
371
exports.css = css;
372
exports.spec = spec;
362
373
363
exports['po:create'] = parallel(...poTypes.map(type => series(poTasks[type].extract, poTasks[type].create)));
374
exports['po:create'] = parallel(...poTypes.map(type => series(poTasks[type].extract, poTasks[type].create)));
364
exports['po:update'] = parallel(...poTypes.map(type => series(poTasks[type].extract, poTasks[type].update)));
375
exports['po:update'] = parallel(...poTypes.map(type => series(poTasks[type].extract, poTasks[type].update)));
(-)a/package.json (+2 lines)
Lines 7-12 Link Here
7
    "test": "test"
7
    "test": "test"
8
  },
8
  },
9
  "dependencies": {
9
  "dependencies": {
10
    "@apidevtools/swagger-cli": "^4.0.4",
10
    "bootstrap": "^4.5.2",
11
    "bootstrap": "^4.5.2",
11
    "gulp": "^4.0.2",
12
    "gulp": "^4.0.2",
12
    "gulp-autoprefixer": "^4.0.0",
13
    "gulp-autoprefixer": "^4.0.0",
Lines 25-30 Link Here
25
  "scripts": {
26
  "scripts": {
26
    "build": "node_modules/.bin/gulp build",
27
    "build": "node_modules/.bin/gulp build",
27
    "css": "node_modules/.bin/gulp css",
28
    "css": "node_modules/.bin/gulp css",
29
    "spec": "node_modules/.bin/gulp spec",
28
    "watch": "node_modules/.bin/gulp watch"
30
    "watch": "node_modules/.bin/gulp watch"
29
  },
31
  },
30
  "repository": {
32
  "repository": {
(-)a/yarn.lock (-5 / +222 lines)
Lines 2-7 Link Here
2
# yarn lockfile v1
2
# yarn lockfile v1
3
3
4
4
5
"@apidevtools/json-schema-ref-parser@^9.0.6":
6
  version "9.0.9"
7
  resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz#d720f9256e3609621280584f2b47ae165359268b"
8
  integrity sha512-GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w==
9
  dependencies:
10
    "@jsdevtools/ono" "^7.1.3"
11
    "@types/json-schema" "^7.0.6"
12
    call-me-maybe "^1.0.1"
13
    js-yaml "^4.1.0"
14
15
"@apidevtools/openapi-schemas@^2.0.4":
16
  version "2.1.0"
17
  resolved "https://registry.yarnpkg.com/@apidevtools/openapi-schemas/-/openapi-schemas-2.1.0.tgz#9fa08017fb59d80538812f03fc7cac5992caaa17"
18
  integrity sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==
19
20
"@apidevtools/swagger-cli@^4.0.4":
21
  version "4.0.4"
22
  resolved "https://registry.yarnpkg.com/@apidevtools/swagger-cli/-/swagger-cli-4.0.4.tgz#c645c291f56e4add583111aca9edeee23d60fa10"
23
  integrity sha512-hdDT3B6GLVovCsRZYDi3+wMcB1HfetTU20l2DC8zD3iFRNMC6QNAZG5fo/6PYeHWBEv7ri4MvnlKodhNB0nt7g==
24
  dependencies:
25
    "@apidevtools/swagger-parser" "^10.0.1"
26
    chalk "^4.1.0"
27
    js-yaml "^3.14.0"
28
    yargs "^15.4.1"
29
30
"@apidevtools/swagger-methods@^3.0.2":
31
  version "3.0.2"
32
  resolved "https://registry.yarnpkg.com/@apidevtools/swagger-methods/-/swagger-methods-3.0.2.tgz#b789a362e055b0340d04712eafe7027ddc1ac267"
33
  integrity sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==
34
35
"@apidevtools/swagger-parser@^10.0.1":
36
  version "10.0.3"
37
  resolved "https://registry.yarnpkg.com/@apidevtools/swagger-parser/-/swagger-parser-10.0.3.tgz#32057ae99487872c4dd96b314a1ab4b95d89eaf5"
38
  integrity sha512-sNiLY51vZOmSPFZA5TF35KZ2HbgYklQnTSDnkghamzLb3EkNtcQnrBQEj5AOCxHpTtXpqMCRM1CrmV2rG6nw4g==
39
  dependencies:
40
    "@apidevtools/json-schema-ref-parser" "^9.0.6"
41
    "@apidevtools/openapi-schemas" "^2.0.4"
42
    "@apidevtools/swagger-methods" "^3.0.2"
43
    "@jsdevtools/ono" "^7.1.3"
44
    call-me-maybe "^1.0.1"
45
    z-schema "^5.0.1"
46
5
"@choojs/findup@^0.2.1":
47
"@choojs/findup@^0.2.1":
6
  version "0.2.1"
48
  version "0.2.1"
7
  resolved "https://registry.yarnpkg.com/@choojs/findup/-/findup-0.2.1.tgz#ac13c59ae7be6e1da64de0779a0a7f03d75615a3"
49
  resolved "https://registry.yarnpkg.com/@choojs/findup/-/findup-0.2.1.tgz#ac13c59ae7be6e1da64de0779a0a7f03d75615a3"
Lines 28-33 Link Here
28
    normalize-path "^2.0.1"
70
    normalize-path "^2.0.1"
29
    through2 "^2.0.3"
71
    through2 "^2.0.3"
30
72
73
"@jsdevtools/ono@^7.1.3":
74
  version "7.1.3"
75
  resolved "https://registry.yarnpkg.com/@jsdevtools/ono/-/ono-7.1.3.tgz#9df03bbd7c696a5c58885c34aa06da41c8543796"
76
  integrity sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==
77
78
"@types/json-schema@^7.0.6":
79
  version "7.0.9"
80
  resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d"
81
  integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==
82
31
abbrev@1:
83
abbrev@1:
32
  version "1.1.1"
84
  version "1.1.1"
33
  resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
85
  resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
Lines 101-106 ansi-regex@^4.1.0: Link Here
101
  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
153
  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
102
  integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
154
  integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
103
155
156
ansi-regex@^5.0.1:
157
  version "5.0.1"
158
  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
159
  integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
160
104
ansi-styles@^2.2.1:
161
ansi-styles@^2.2.1:
105
  version "2.2.1"
162
  version "2.2.1"
106
  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
163
  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
Lines 113-118 ansi-styles@^3.2.0, ansi-styles@^3.2.1: Link Here
113
  dependencies:
170
  dependencies:
114
    color-convert "^1.9.0"
171
    color-convert "^1.9.0"
115
172
173
ansi-styles@^4.0.0, ansi-styles@^4.1.0:
174
  version "4.3.0"
175
  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
176
  integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
177
  dependencies:
178
    color-convert "^2.0.1"
179
116
ansi-wrap@0.1.0, ansi-wrap@^0.1.0:
180
ansi-wrap@0.1.0, ansi-wrap@^0.1.0:
117
  version "0.1.0"
181
  version "0.1.0"
118
  resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf"
182
  resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf"
Lines 494-499 call-bind@^1.0.0: Link Here
494
    function-bind "^1.1.1"
558
    function-bind "^1.1.1"
495
    get-intrinsic "^1.0.2"
559
    get-intrinsic "^1.0.2"
496
560
561
call-me-maybe@^1.0.1:
562
  version "1.0.1"
563
  resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b"
564
  integrity sha1-JtII6onje1y95gJQoV8DHBak1ms=
565
497
camelcase-keys@^2.0.0:
566
camelcase-keys@^2.0.0:
498
  version "2.1.0"
567
  version "2.1.0"
499
  resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
568
  resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
Lines 562-567 chalk@^2.4.1, chalk@^2.4.2: Link Here
562
    escape-string-regexp "^1.0.5"
631
    escape-string-regexp "^1.0.5"
563
    supports-color "^5.3.0"
632
    supports-color "^5.3.0"
564
633
634
chalk@^4.1.0:
635
  version "4.1.2"
636
  resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
637
  integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
638
  dependencies:
639
    ansi-styles "^4.1.0"
640
    supports-color "^7.1.0"
641
565
chokidar@^2.0.0:
642
chokidar@^2.0.0:
566
  version "2.1.8"
643
  version "2.1.8"
567
  resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
644
  resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
Lines 616-621 cliui@^5.0.0: Link Here
616
    strip-ansi "^5.2.0"
693
    strip-ansi "^5.2.0"
617
    wrap-ansi "^5.1.0"
694
    wrap-ansi "^5.1.0"
618
695
696
cliui@^6.0.0:
697
  version "6.0.0"
698
  resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
699
  integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
700
  dependencies:
701
    string-width "^4.2.0"
702
    strip-ansi "^6.0.0"
703
    wrap-ansi "^6.2.0"
704
619
clone-buffer@^1.0.0:
705
clone-buffer@^1.0.0:
620
  version "1.0.0"
706
  version "1.0.0"
621
  resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
707
  resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
Lines 686-697 color-convert@^1.3.0, color-convert@^1.9.0: Link Here
686
  dependencies:
772
  dependencies:
687
    color-name "1.1.3"
773
    color-name "1.1.3"
688
774
775
color-convert@^2.0.1:
776
  version "2.0.1"
777
  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
778
  integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
779
  dependencies:
780
    color-name "~1.1.4"
781
689
color-name@1.1.3:
782
color-name@1.1.3:
690
  version "1.1.3"
783
  version "1.1.3"
691
  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
784
  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
692
  integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
785
  integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
693
786
694
color-name@^1.0.0:
787
color-name@^1.0.0, color-name@~1.1.4:
695
  version "1.1.4"
788
  version "1.1.4"
696
  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
789
  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
697
  integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
790
  integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
Lines 738-744 combined-stream@^1.0.6, combined-stream@~1.0.6: Link Here
738
  dependencies:
831
  dependencies:
739
    delayed-stream "~1.0.0"
832
    delayed-stream "~1.0.0"
740
833
741
commander@^2.15.1:
834
commander@^2.15.1, commander@^2.7.1:
742
  version "2.20.3"
835
  version "2.20.3"
743
  resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
836
  resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
744
  integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
837
  integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
Lines 1031-1036 emoji-regex@^7.0.1: Link Here
1031
  resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
1124
  resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
1032
  integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
1125
  integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
1033
1126
1127
emoji-regex@^8.0.0:
1128
  version "8.0.0"
1129
  resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
1130
  integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
1131
1034
end-of-stream@^1.0.0, end-of-stream@^1.1.0:
1132
end-of-stream@^1.0.0, end-of-stream@^1.1.0:
1035
  version "1.4.4"
1133
  version "1.4.4"
1036
  resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
1134
  resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
Lines 1232-1237 find-up@^3.0.0: Link Here
1232
  dependencies:
1330
  dependencies:
1233
    locate-path "^3.0.0"
1331
    locate-path "^3.0.0"
1234
1332
1333
find-up@^4.1.0:
1334
  version "4.1.0"
1335
  resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
1336
  integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
1337
  dependencies:
1338
    locate-path "^5.0.0"
1339
    path-exists "^4.0.0"
1340
1235
findup-sync@^2.0.0:
1341
findup-sync@^2.0.0:
1236
  version "2.0.0"
1342
  version "2.0.0"
1237
  resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc"
1343
  resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc"
Lines 1680-1685 has-flag@^3.0.0: Link Here
1680
  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
1786
  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
1681
  integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
1787
  integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
1682
1788
1789
has-flag@^4.0.0:
1790
  version "4.0.0"
1791
  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
1792
  integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
1793
1683
has-gulplog@^0.1.0:
1794
has-gulplog@^0.1.0:
1684
  version "0.1.0"
1795
  version "0.1.0"
1685
  resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce"
1796
  resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce"
Lines 1923-1928 is-fullwidth-code-point@^2.0.0: Link Here
1923
  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
2034
  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
1924
  integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
2035
  integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
1925
2036
2037
is-fullwidth-code-point@^3.0.0:
2038
  version "3.0.0"
2039
  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
2040
  integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
2041
1926
is-glob@^3.1.0:
2042
is-glob@^3.1.0:
1927
  version "3.1.0"
2043
  version "3.1.0"
1928
  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
2044
  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
Lines 2049-2055 js-base64@^2.1.8, js-base64@^2.1.9: Link Here
2049
  resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4"
2165
  resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4"
2050
  integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==
2166
  integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==
2051
2167
2052
js-yaml@^3.13.1, js-yaml@~3.7.0:
2168
js-yaml@^3.13.1, js-yaml@^3.14.0, js-yaml@^4.1.0, js-yaml@~3.7.0:
2053
  version "3.14.1"
2169
  version "3.14.1"
2054
  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
2170
  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
2055
  integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
2171
  integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
Lines 2188-2193 locate-path@^3.0.0: Link Here
2188
    p-locate "^3.0.0"
2304
    p-locate "^3.0.0"
2189
    path-exists "^3.0.0"
2305
    path-exists "^3.0.0"
2190
2306
2307
locate-path@^5.0.0:
2308
  version "5.0.0"
2309
  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
2310
  integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
2311
  dependencies:
2312
    p-locate "^4.1.0"
2313
2191
lodash._basecopy@^3.0.0:
2314
lodash._basecopy@^3.0.0:
2192
  version "3.0.1"
2315
  version "3.0.1"
2193
  resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
2316
  resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
Lines 2250-2255 lodash.find@^4.6.0: Link Here
2250
  resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1"
2373
  resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1"
2251
  integrity sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=
2374
  integrity sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=
2252
2375
2376
lodash.get@^4.4.2:
2377
  version "4.4.2"
2378
  resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
2379
  integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
2380
2253
lodash.isarguments@^3.0.0:
2381
lodash.isarguments@^3.0.0:
2254
  version "3.1.0"
2382
  version "3.1.0"
2255
  resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
2383
  resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
Lines 2260-2265 lodash.isarray@^3.0.0: Link Here
2260
  resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
2388
  resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
2261
  integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=
2389
  integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=
2262
2390
2391
lodash.isequal@^4.5.0:
2392
  version "4.5.0"
2393
  resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
2394
  integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA=
2395
2263
lodash.keys@^3.0.0:
2396
lodash.keys@^3.0.0:
2264
  version "3.1.2"
2397
  version "3.1.2"
2265
  resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
2398
  resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
Lines 2771-2777 osenv@0: Link Here
2771
    os-homedir "^1.0.0"
2904
    os-homedir "^1.0.0"
2772
    os-tmpdir "^1.0.0"
2905
    os-tmpdir "^1.0.0"
2773
2906
2774
p-limit@^2.0.0:
2907
p-limit@^2.0.0, p-limit@^2.2.0:
2775
  version "2.3.0"
2908
  version "2.3.0"
2776
  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
2909
  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
2777
  integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
2910
  integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
Lines 2785-2790 p-locate@^3.0.0: Link Here
2785
  dependencies:
2918
  dependencies:
2786
    p-limit "^2.0.0"
2919
    p-limit "^2.0.0"
2787
2920
2921
p-locate@^4.1.0:
2922
  version "4.1.0"
2923
  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
2924
  integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
2925
  dependencies:
2926
    p-limit "^2.2.0"
2927
2788
p-try@^2.0.0:
2928
p-try@^2.0.0:
2789
  version "2.2.0"
2929
  version "2.2.0"
2790
  resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
2930
  resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
Lines 2838-2843 path-exists@^3.0.0: Link Here
2838
  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
2978
  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
2839
  integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
2979
  integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
2840
2980
2981
path-exists@^4.0.0:
2982
  version "4.0.0"
2983
  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
2984
  integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
2985
2841
path-is-absolute@^1.0.0:
2986
path-is-absolute@^1.0.0:
2842
  version "1.0.1"
2987
  version "1.0.1"
2843
  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
2988
  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
Lines 3763-3768 string-width@^3.0.0, string-width@^3.1.0: Link Here
3763
    is-fullwidth-code-point "^2.0.0"
3908
    is-fullwidth-code-point "^2.0.0"
3764
    strip-ansi "^5.1.0"
3909
    strip-ansi "^5.1.0"
3765
3910
3911
string-width@^4.1.0, string-width@^4.2.0:
3912
  version "4.2.3"
3913
  resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
3914
  integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
3915
  dependencies:
3916
    emoji-regex "^8.0.0"
3917
    is-fullwidth-code-point "^3.0.0"
3918
    strip-ansi "^6.0.1"
3919
3766
string_decoder@^1.1.1:
3920
string_decoder@^1.1.1:
3767
  version "1.3.0"
3921
  version "1.3.0"
3768
  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
3922
  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
Lines 3803-3808 strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: Link Here
3803
  dependencies:
3957
  dependencies:
3804
    ansi-regex "^4.1.0"
3958
    ansi-regex "^4.1.0"
3805
3959
3960
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
3961
  version "6.0.1"
3962
  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
3963
  integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
3964
  dependencies:
3965
    ansi-regex "^5.0.1"
3966
3806
strip-bom-string@1.X:
3967
strip-bom-string@1.X:
3807
  version "1.0.0"
3968
  version "1.0.0"
3808
  resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
3969
  resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
Lines 3846-3851 supports-color@^5.3.0, supports-color@^5.4.0: Link Here
3846
  dependencies:
4007
  dependencies:
3847
    has-flag "^3.0.0"
4008
    has-flag "^3.0.0"
3848
4009
4010
supports-color@^7.1.0:
4011
  version "7.2.0"
4012
  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
4013
  integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
4014
  dependencies:
4015
    has-flag "^4.0.0"
4016
3849
sver-compat@^1.5.0:
4017
sver-compat@^1.5.0:
3850
  version "1.5.0"
4018
  version "1.5.0"
3851
  resolved "https://registry.yarnpkg.com/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8"
4019
  resolved "https://registry.yarnpkg.com/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8"
Lines 4117-4122 validate-npm-package-license@^3.0.1: Link Here
4117
    spdx-correct "^3.0.0"
4285
    spdx-correct "^3.0.0"
4118
    spdx-expression-parse "^3.0.0"
4286
    spdx-expression-parse "^3.0.0"
4119
4287
4288
validator@^13.7.0:
4289
  version "13.7.0"
4290
  resolved "https://registry.yarnpkg.com/validator/-/validator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857"
4291
  integrity sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==
4292
4120
value-or-function@^3.0.0:
4293
value-or-function@^3.0.0:
4121
  version "3.0.0"
4294
  version "3.0.0"
4122
  resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813"
4295
  resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813"
Lines 4246-4251 wrap-ansi@^5.1.0: Link Here
4246
    string-width "^3.0.0"
4419
    string-width "^3.0.0"
4247
    strip-ansi "^5.0.0"
4420
    strip-ansi "^5.0.0"
4248
4421
4422
wrap-ansi@^6.2.0:
4423
  version "6.2.0"
4424
  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
4425
  integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
4426
  dependencies:
4427
    ansi-styles "^4.0.0"
4428
    string-width "^4.1.0"
4429
    strip-ansi "^6.0.0"
4430
4249
wrappy@1:
4431
wrappy@1:
4250
  version "1.0.2"
4432
  version "1.0.2"
4251
  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
4433
  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
Lines 4287-4292 yargs-parser@^13.1.2: Link Here
4287
    camelcase "^5.0.0"
4469
    camelcase "^5.0.0"
4288
    decamelize "^1.2.0"
4470
    decamelize "^1.2.0"
4289
4471
4472
yargs-parser@^18.1.2:
4473
  version "18.1.3"
4474
  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
4475
  integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
4476
  dependencies:
4477
    camelcase "^5.0.0"
4478
    decamelize "^1.2.0"
4479
4290
yargs@^13.3.2:
4480
yargs@^13.3.2:
4291
  version "13.3.2"
4481
  version "13.3.2"
4292
  resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
4482
  resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
Lines 4303-4308 yargs@^13.3.2: Link Here
4303
    y18n "^4.0.0"
4493
    y18n "^4.0.0"
4304
    yargs-parser "^13.1.2"
4494
    yargs-parser "^13.1.2"
4305
4495
4496
yargs@^15.4.1:
4497
  version "15.4.1"
4498
  resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"
4499
  integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
4500
  dependencies:
4501
    cliui "^6.0.0"
4502
    decamelize "^1.2.0"
4503
    find-up "^4.1.0"
4504
    get-caller-file "^2.0.1"
4505
    require-directory "^2.1.1"
4506
    require-main-filename "^2.0.0"
4507
    set-blocking "^2.0.0"
4508
    string-width "^4.2.0"
4509
    which-module "^2.0.0"
4510
    y18n "^4.0.0"
4511
    yargs-parser "^18.1.2"
4512
4306
yargs@^7.1.0:
4513
yargs@^7.1.0:
4307
  version "7.1.1"
4514
  version "7.1.1"
4308
  resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.1.tgz#67f0ef52e228d4ee0d6311acede8850f53464df6"
4515
  resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.1.tgz#67f0ef52e228d4ee0d6311acede8850f53464df6"
Lines 4321-4323 yargs@^7.1.0: Link Here
4321
    which-module "^1.0.0"
4528
    which-module "^1.0.0"
4322
    y18n "^3.2.1"
4529
    y18n "^3.2.1"
4323
    yargs-parser "5.0.0-security.0"
4530
    yargs-parser "5.0.0-security.0"
4324
- 
4531
4532
z-schema@^5.0.1:
4533
  version "5.0.2"
4534
  resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-5.0.2.tgz#f410394b2c9fcb9edaf6a7511491c0bb4e89a504"
4535
  integrity sha512-40TH47ukMHq5HrzkeVE40Ad7eIDKaRV2b+Qpi2prLc9X9eFJFzV7tMe5aH12e6avaSS/u5l653EQOv+J9PirPw==
4536
  dependencies:
4537
    lodash.get "^4.4.2"
4538
    lodash.isequal "^4.5.0"
4539
    validator "^13.7.0"
4540
  optionalDependencies:
4541
    commander "^2.7.1"

Return to bug 30194