Lines 14-19
Link Here
|
14 |
}, |
14 |
}, |
15 |
"basePath": "/api/v1", |
15 |
"basePath": "/api/v1", |
16 |
"paths": { |
16 |
"paths": { |
|
|
17 |
"/availability/items": { |
18 |
"get": { |
19 |
"operationId": "itemsAvailability", |
20 |
"tags": ["items", "availability"], |
21 |
"parameters": [ |
22 |
{ "$ref": "#/parameters/itemnumbersQueryParam" }, |
23 |
{ "$ref": "#/parameters/biblionumbersQueryParam" } |
24 |
], |
25 |
"consumes": ["application/json"], |
26 |
"produces": ["application/json"], |
27 |
"responses": { |
28 |
"200": { |
29 |
"description": "Availability information on item(s)", |
30 |
"schema": { |
31 |
"$ref": "#/definitions/availabilities" |
32 |
} |
33 |
}, |
34 |
"400": { |
35 |
"description": "Missing or wrong parameters", |
36 |
"schema": { "$ref": "#/definitions/error" } |
37 |
}, |
38 |
"404": { |
39 |
"description": "No item(s) found", |
40 |
"schema": { "$ref": "#/definitions/error" } |
41 |
} |
42 |
} |
43 |
} |
44 |
}, |
17 |
"/patrons": { |
45 |
"/patrons": { |
18 |
"get": { |
46 |
"get": { |
19 |
"operationId": "listPatrons", |
47 |
"operationId": "listPatrons", |
Lines 38-43
Link Here
|
38 |
} |
66 |
} |
39 |
} |
67 |
} |
40 |
} |
68 |
} |
|
|
69 |
}, |
70 |
"post": { |
71 |
"operationId": "addPatron", |
72 |
"tags": ["patrons"], |
73 |
"parameters": [{ |
74 |
"name": "body", |
75 |
"in": "body", |
76 |
"description": "A JSON object containing information about the new patron", |
77 |
"required": true, |
78 |
"schema": { |
79 |
"$ref": "#/definitions/patron" |
80 |
} |
81 |
}], |
82 |
"consumes": ["application/json"], |
83 |
"produces": ["application/json"], |
84 |
"responses": { |
85 |
"201": { |
86 |
"description": "A successfully created patron", |
87 |
"schema": { |
88 |
"items": { |
89 |
"$ref": "#/definitions/patron" |
90 |
} |
91 |
} |
92 |
}, |
93 |
"403": { |
94 |
"description": "Access forbidden", |
95 |
"schema": { |
96 |
"$ref": "#/definitions/error" |
97 |
} |
98 |
}, |
99 |
"404": { |
100 |
"description": "Resource not found", |
101 |
"schema": { |
102 |
"$ref": "#/definitions/error" |
103 |
} |
104 |
}, |
105 |
"409": { |
106 |
"description": "Conflict in creating resource", |
107 |
"schema": { |
108 |
"$ref": "#/definitions/error" |
109 |
} |
110 |
}, |
111 |
"500": { |
112 |
"description": "Internal error", |
113 |
"schema": { |
114 |
"$ref": "#/definitions/error" |
115 |
} |
116 |
} |
117 |
} |
41 |
} |
118 |
} |
42 |
}, |
119 |
}, |
43 |
"/patrons/{borrowernumber}": { |
120 |
"/patrons/{borrowernumber}": { |
Lines 72-83
Link Here
|
72 |
} |
149 |
} |
73 |
} |
150 |
} |
74 |
} |
151 |
} |
|
|
152 |
}, |
153 |
"put": { |
154 |
"operationId": "editPatron", |
155 |
"tags": ["patrons"], |
156 |
"parameters": [ |
157 |
{ "$ref": "#/parameters/borrowernumberPathParam" }, |
158 |
{ |
159 |
"name": "body", |
160 |
"in": "body", |
161 |
"description": "A JSON object containing new information about existing patron", |
162 |
"required": true, |
163 |
"schema": { |
164 |
"$ref": "#/definitions/patron" |
165 |
} |
166 |
} |
167 |
], |
168 |
"consumes": ["application/json"], |
169 |
"produces": ["application/json"], |
170 |
"responses": { |
171 |
"200": { |
172 |
"description": "A successfully updated patron", |
173 |
"schema": { |
174 |
"items": { |
175 |
"$ref": "#/definitions/patron" |
176 |
} |
177 |
} |
178 |
}, |
179 |
"204": { |
180 |
"description": "No Content", |
181 |
"schema": { |
182 |
"type": "object" |
183 |
} |
184 |
}, |
185 |
"403": { |
186 |
"description": "Access forbidden", |
187 |
"schema": { |
188 |
"$ref": "#/definitions/error" |
189 |
} |
190 |
}, |
191 |
"404": { |
192 |
"description": "Resource not found", |
193 |
"schema": { |
194 |
"$ref": "#/definitions/error" |
195 |
} |
196 |
}, |
197 |
"409": { |
198 |
"description": "Conflict in updating resource", |
199 |
"schema": { |
200 |
"$ref": "#/definitions/error" |
201 |
} |
202 |
}, |
203 |
"500": { |
204 |
"description": "Internal error", |
205 |
"schema": { |
206 |
"$ref": "#/definitions/error" |
207 |
} |
208 |
} |
209 |
} |
210 |
}, |
211 |
"delete": { |
212 |
"operationId": "deletePatron", |
213 |
"tags": ["patrons"], |
214 |
"parameters": [ |
215 |
{ "$ref": "#/parameters/borrowernumberPathParam" } |
216 |
], |
217 |
"produces": ["application/json"], |
218 |
"responses": { |
219 |
"200": { |
220 |
"description": "Patron deleted successfully", |
221 |
"schema": { |
222 |
"type": "object" |
223 |
} |
224 |
}, |
225 |
"400": { |
226 |
"description": "Patron deletion failed", |
227 |
"schema": { "$ref": "#/definitions/error" } |
228 |
}, |
229 |
"403": { |
230 |
"description": "Access forbidden", |
231 |
"schema": { |
232 |
"$ref": "#/definitions/error" |
233 |
} |
234 |
}, |
235 |
"404": { |
236 |
"description": "Patron not found", |
237 |
"schema": { "$ref": "#/definitions/error" } |
238 |
} |
239 |
} |
75 |
} |
240 |
} |
76 |
}, |
241 |
}, |
77 |
"/holds": { |
242 |
"/holds": { |
78 |
"get": { |
243 |
"get": { |
79 |
"operationId": "listHolds", |
244 |
"operationId": "listHolds", |
80 |
"tags": ["borrowers", "holds"], |
245 |
"tags": ["patrons", "holds"], |
81 |
"parameters": [ |
246 |
"parameters": [ |
82 |
{ |
247 |
{ |
83 |
"name": "reserve_id", |
248 |
"name": "reserve_id", |
Lines 202-208
Link Here
|
202 |
}, |
367 |
}, |
203 |
"post": { |
368 |
"post": { |
204 |
"operationId": "addHold", |
369 |
"operationId": "addHold", |
205 |
"tags": ["borrowers", "holds"], |
370 |
"tags": ["patrons", "holds"], |
206 |
"parameters": [ |
371 |
"parameters": [ |
207 |
{ |
372 |
{ |
208 |
"name": "body", |
373 |
"name": "body", |
Lines 332-343
Link Here
|
332 |
} |
497 |
} |
333 |
} |
498 |
} |
334 |
} |
499 |
} |
|
|
500 |
}, |
501 |
"/accountlines": { |
502 |
"get": { |
503 |
"operationId": "listAccountlines", |
504 |
"tags": ["accountlines"], |
505 |
"produces": [ |
506 |
"application/json" |
507 |
], |
508 |
"responses": { |
509 |
"200": { |
510 |
"description": "A list of accountlines", |
511 |
"schema": { |
512 |
"type": "array", |
513 |
"items": { |
514 |
"$ref": "#/definitions/accountline" |
515 |
} |
516 |
} |
517 |
}, |
518 |
"403": { |
519 |
"description": "Access forbidden", |
520 |
"schema": { |
521 |
"$ref": "#/definitions/error" |
522 |
} |
523 |
} |
524 |
} |
525 |
} |
526 |
}, |
527 |
"/libraries": { |
528 |
"get": { |
529 |
"operationId": "listLibrary", |
530 |
"tags": ["libraries"], |
531 |
"produces": [ |
532 |
"application/json" |
533 |
], |
534 |
"responses": { |
535 |
"200": { |
536 |
"description": "A list of libraries", |
537 |
"schema": { |
538 |
"$ref": "#/definitions/libraries" |
539 |
} |
540 |
} |
541 |
} |
542 |
} |
543 |
}, |
544 |
"/libraries/{branchcode}": { |
545 |
"get": { |
546 |
"operationId": "getLibrary", |
547 |
"tags": ["libraries"], |
548 |
"parameters": [ |
549 |
{ "$ref": "#/parameters/branchcodePathParam" } |
550 |
], |
551 |
"produces": [ |
552 |
"application/json" |
553 |
], |
554 |
"responses": { |
555 |
"200": { |
556 |
"description": "A library", |
557 |
"schema": { |
558 |
"$ref": "#/definitions/library" |
559 |
} |
560 |
}, |
561 |
"404": { |
562 |
"description": "Library not found", |
563 |
"schema": { |
564 |
"$ref": "#/definitions/error" |
565 |
} |
566 |
} |
567 |
} |
568 |
} |
569 |
}, |
570 |
"/checkouts": { |
571 |
"get": { |
572 |
"operationId": "listCheckouts", |
573 |
"tags": ["patrons", "checkouts"], |
574 |
"parameters": [ |
575 |
{ |
576 |
"name": "borrowernumber", |
577 |
"in": "query", |
578 |
"description": "Internal patron identifier", |
579 |
"required": false, |
580 |
"type": "integer" |
581 |
} |
582 |
], |
583 |
"produces": [ |
584 |
"application/json" |
585 |
], |
586 |
"responses": { |
587 |
"200": { |
588 |
"description": "A list of checkouts", |
589 |
"schema": { |
590 |
"$ref": "#/definitions/checkouts" |
591 |
} |
592 |
}, |
593 |
"403": { |
594 |
"description": "Access forbidden", |
595 |
"schema": { "$ref": "#/definitions/error" } |
596 |
}, |
597 |
"404": { |
598 |
"description": "Borrower not found", |
599 |
"schema": { |
600 |
"$ref": "#/definitions/error" |
601 |
} |
602 |
} |
603 |
} |
604 |
} |
605 |
}, |
606 |
"/checkouts/{checkout_id}": { |
607 |
"get": { |
608 |
"operationId": "getCheckout", |
609 |
"tags": ["patrons", "checkouts"], |
610 |
"parameters": [ |
611 |
{ |
612 |
"name": "checkout_id", |
613 |
"in": "path", |
614 |
"description": "Internal checkout identifier", |
615 |
"required": true, |
616 |
"type": "integer" |
617 |
} |
618 |
], |
619 |
"produces": ["application/json"], |
620 |
"responses": { |
621 |
"200": { |
622 |
"description": "Updated borrower's checkout", |
623 |
"schema": { "$ref": "#/definitions/checkout" } |
624 |
}, |
625 |
"403": { |
626 |
"description": "Access forbidden", |
627 |
"schema": { "$ref": "#/definitions/error" } |
628 |
}, |
629 |
"404": { |
630 |
"description": "Checkout not found", |
631 |
"schema": { "$ref": "#/definitions/error" } |
632 |
} |
633 |
} |
634 |
}, |
635 |
"put": { |
636 |
"operationId": "renewCheckout", |
637 |
"tags": ["patrons", "checkouts"], |
638 |
"parameters": [ |
639 |
{ |
640 |
"name": "checkout_id", |
641 |
"in": "path", |
642 |
"description": "Internal checkout identifier", |
643 |
"required": true, |
644 |
"type": "integer" |
645 |
} |
646 |
], |
647 |
"produces": ["application/json"], |
648 |
"responses": { |
649 |
"200": { |
650 |
"description": "Updated borrower's checkout", |
651 |
"schema": { "$ref": "#/definitions/checkout" } |
652 |
}, |
653 |
"403": { |
654 |
"description": "Cannot renew checkout", |
655 |
"schema": { "$ref": "#/definitions/error" } |
656 |
}, |
657 |
"404": { |
658 |
"description": "Checkout not found", |
659 |
"schema": { "$ref": "#/definitions/error" } |
660 |
} |
661 |
} |
662 |
} |
663 |
}, |
664 |
"/checkouts/history": { |
665 |
"get": { |
666 |
"operationId": "listhistoryCheckouts", |
667 |
"tags": ["patrons", "checkouts"], |
668 |
"parameters": [ |
669 |
{ |
670 |
"name": "borrowernumber", |
671 |
"in": "query", |
672 |
"description": "Internal patron identifier", |
673 |
"required": false, |
674 |
"type": "integer" |
675 |
} |
676 |
], |
677 |
"produces": [ |
678 |
"application/json" |
679 |
], |
680 |
"responses": { |
681 |
"200": { |
682 |
"description": "A list of checkouts history", |
683 |
"schema": { |
684 |
"$ref": "#/definitions/checkouts" |
685 |
} |
686 |
}, |
687 |
"403": { |
688 |
"description": "Access forbidden", |
689 |
"schema": { "$ref": "#/definitions/error" } |
690 |
}, |
691 |
"404": { |
692 |
"description": "Borrower not found", |
693 |
"schema": { |
694 |
"$ref": "#/definitions/error" |
695 |
} |
696 |
} |
697 |
} |
698 |
} |
699 |
}, |
700 |
"/checkouts/history/{checkout_id}": { |
701 |
"get": { |
702 |
"operationId": "gethistoryCheckout", |
703 |
"tags": ["patrons", "checkouts"], |
704 |
"parameters": [ |
705 |
{ |
706 |
"name": "checkout_id", |
707 |
"in": "path", |
708 |
"description": "Internal checkout identifier", |
709 |
"required": true, |
710 |
"type": "integer" |
711 |
} |
712 |
], |
713 |
"produces": ["application/json"], |
714 |
"responses": { |
715 |
"200": { |
716 |
"description": "Got borrower's checkout", |
717 |
"schema": { "$ref": "#/definitions/checkout" } |
718 |
}, |
719 |
"403": { |
720 |
"description": "Access forbidden", |
721 |
"schema": { "$ref": "#/definitions/error" } |
722 |
}, |
723 |
"404": { |
724 |
"description": "Checkout not found", |
725 |
"schema": { "$ref": "#/definitions/error" } |
726 |
} |
727 |
} |
728 |
} |
729 |
}, |
730 |
"/items/{itemnumber}": { |
731 |
"get": { |
732 |
"operationId": "getItem", |
733 |
"tags": ["items"], |
734 |
"parameters": [ |
735 |
{ "$ref": "#/parameters/itemnumberPathParam" } |
736 |
], |
737 |
"consumes": ["application/json"], |
738 |
"produces": ["application/json"], |
739 |
"responses": { |
740 |
"200": { |
741 |
"description": "An item", |
742 |
"schema": { "$ref": "#/definitions/item" } |
743 |
}, |
744 |
"400": { |
745 |
"description": "Missing or wrong parameters", |
746 |
"schema": { "$ref": "#/definitions/error" } |
747 |
}, |
748 |
"404": { |
749 |
"description": "Item not found", |
750 |
"schema": { "$ref": "#/definitions/error" } |
751 |
} |
752 |
} |
753 |
} |
754 |
}, |
755 |
"/biblios/{biblionumber}": { |
756 |
"get": { |
757 |
"operationId": "getBiblio", |
758 |
"tags": ["biblios"], |
759 |
"parameters": [ |
760 |
{ "$ref": "#/parameters/biblionumberPathParam" } |
761 |
], |
762 |
"consumes": ["application/json"], |
763 |
"produces": ["application/json"], |
764 |
"responses": { |
765 |
"200": { |
766 |
"description": "An biblio", |
767 |
"schema": { "$ref": "#/definitions/biblio" } |
768 |
}, |
769 |
"400": { |
770 |
"description": "Missing or wrong parameters", |
771 |
"schema": { "$ref": "#/definitions/error" } |
772 |
}, |
773 |
"404": { |
774 |
"description": "Biblio not found", |
775 |
"schema": { "$ref": "#/definitions/error" } |
776 |
} |
777 |
} |
778 |
} |
779 |
}, |
780 |
"/accountlines/{accountlines_id}": { |
781 |
"put": { |
782 |
"operationId": "editAccountlines", |
783 |
"tags": ["accountlines"], |
784 |
"produces": [ |
785 |
"application/json" |
786 |
], |
787 |
"parameters": [ |
788 |
{ "$ref": "#/parameters/accountlinesIdPathParam" }, |
789 |
{ |
790 |
"name": "body", |
791 |
"in": "body", |
792 |
"description": "A JSON object containing fields to modify", |
793 |
"required": true, |
794 |
"schema": { "$ref": "#/definitions/editAccountlineBody" } |
795 |
} |
796 |
], |
797 |
"consumes": ["application/json"], |
798 |
"produces": ["application/json"], |
799 |
"responses": { |
800 |
"200": { |
801 |
"description": "Updated accountline", |
802 |
"schema": { "$ref": "#/definitions/accountline" } |
803 |
}, |
804 |
"400": { |
805 |
"description": "Missing or wrong parameters", |
806 |
"schema": { "$ref": "#/definitions/error" } |
807 |
}, |
808 |
"403": { |
809 |
"description": "Access forbidden", |
810 |
"schema": { |
811 |
"$ref": "#/definitions/error" |
812 |
} |
813 |
}, |
814 |
"404": { |
815 |
"description": "Accountline not found", |
816 |
"schema": { "$ref": "#/definitions/error" } |
817 |
} |
818 |
} |
819 |
} |
820 |
}, |
821 |
"/accountlines/{accountlines_id}/payment": { |
822 |
"put": { |
823 |
"operationId": "payAccountlines", |
824 |
"tags": ["accountlines"], |
825 |
"produces": [ |
826 |
"application/json" |
827 |
], |
828 |
"parameters": [ |
829 |
{ "$ref": "#/parameters/accountlinesIdPathParam" } |
830 |
], |
831 |
"produces": ["application/json"], |
832 |
"responses": { |
833 |
"200": { |
834 |
"description": "Paid accountline", |
835 |
"schema": { "$ref": "#/definitions/accountline" } |
836 |
}, |
837 |
"400": { |
838 |
"description": "Missing or wrong parameters", |
839 |
"schema": { "$ref": "#/definitions/error" } |
840 |
}, |
841 |
"403": { |
842 |
"description": "Access forbidden", |
843 |
"schema": { |
844 |
"$ref": "#/definitions/error" |
845 |
} |
846 |
}, |
847 |
"404": { |
848 |
"description": "Accountline not found", |
849 |
"schema": { "$ref": "#/definitions/error" } |
850 |
} |
851 |
} |
852 |
} |
853 |
}, |
854 |
"/accountlines/{accountlines_id}/partialpayment": { |
855 |
"put": { |
856 |
"operationId": "partialpayAccountlines", |
857 |
"tags": ["accountlines"], |
858 |
"produces": [ |
859 |
"application/json" |
860 |
], |
861 |
"parameters": [ |
862 |
{ "$ref": "#/parameters/accountlinesIdPathParam" }, |
863 |
{ |
864 |
"name": "body", |
865 |
"in": "body", |
866 |
"description": "A JSON object containing fields to modify", |
867 |
"required": true, |
868 |
"schema": { "$ref": "#/definitions/partialpayAccountlineBody" } |
869 |
} |
870 |
], |
871 |
"consumes": ["application/json"], |
872 |
"produces": ["application/json"], |
873 |
"responses": { |
874 |
"200": { |
875 |
"description": "Paid accountline", |
876 |
"schema": { "$ref": "#/definitions/accountline" } |
877 |
}, |
878 |
"400": { |
879 |
"description": "Missing or wrong parameters", |
880 |
"schema": { "$ref": "#/definitions/error" } |
881 |
}, |
882 |
"403": { |
883 |
"description": "Access forbidden", |
884 |
"schema": { |
885 |
"$ref": "#/definitions/error" |
886 |
} |
887 |
}, |
888 |
"404": { |
889 |
"description": "Accountline not found", |
890 |
"schema": { "$ref": "#/definitions/error" } |
891 |
} |
892 |
} |
893 |
} |
894 |
}, |
895 |
"/accountlines/{borrowernumber}/amountpayment": { |
896 |
"put": { |
897 |
"operationId": "payamountAccountlines", |
898 |
"tags": ["accountlines"], |
899 |
"produces": [ |
900 |
"application/json" |
901 |
], |
902 |
"parameters": [ |
903 |
{ "$ref": "#/parameters/borrowernumberPathParam" }, |
904 |
{ |
905 |
"name": "body", |
906 |
"in": "body", |
907 |
"description": "A JSON object containing fields to modify", |
908 |
"required": true, |
909 |
"schema": { "$ref": "#/definitions/partialpayAccountlineBody" } |
910 |
} |
911 |
], |
912 |
"consumes": ["application/json"], |
913 |
"produces": ["application/json"], |
914 |
"responses": { |
915 |
"200": { |
916 |
"description": "Amount paid", |
917 |
"schema": { "$ref": "#/definitions/amountpaid" } |
918 |
}, |
919 |
"400": { |
920 |
"description": "Missing or wrong parameters", |
921 |
"schema": { "$ref": "#/definitions/error" } |
922 |
}, |
923 |
"403": { |
924 |
"description": "Access forbidden", |
925 |
"schema": { |
926 |
"$ref": "#/definitions/error" |
927 |
} |
928 |
}, |
929 |
"404": { |
930 |
"description": "Borrower not found", |
931 |
"schema": { "$ref": "#/definitions/error" } |
932 |
} |
933 |
} |
934 |
} |
335 |
} |
935 |
} |
336 |
}, |
936 |
}, |
337 |
"definitions": { |
937 |
"definitions": { |
338 |
"$ref": "./definitions/index.json" |
938 |
"$ref": "./definitions/index.json" |
339 |
}, |
939 |
}, |
340 |
"parameters": { |
940 |
"parameters": { |
|
|
941 |
"biblionumbersQueryParam": { |
942 |
"name": "biblionumber", |
943 |
"in": "query", |
944 |
"description": "Internal biblios identifier", |
945 |
"type": "array", |
946 |
"items": { |
947 |
"type": "integer" |
948 |
}, |
949 |
"collectionFormat": "ssv" |
950 |
}, |
341 |
"borrowernumberPathParam": { |
951 |
"borrowernumberPathParam": { |
342 |
"name": "borrowernumber", |
952 |
"name": "borrowernumber", |
343 |
"in": "path", |
953 |
"in": "path", |
Lines 351-356
Link Here
|
351 |
"description": "Internal hold identifier", |
961 |
"description": "Internal hold identifier", |
352 |
"required": true, |
962 |
"required": true, |
353 |
"type": "integer" |
963 |
"type": "integer" |
|
|
964 |
}, |
965 |
"branchcodePathParam": { |
966 |
"name": "branchcode", |
967 |
"in": "path", |
968 |
"description": "Internal library identifier", |
969 |
"required": true, |
970 |
"type": "string" |
971 |
}, |
972 |
"itemnumberPathParam": { |
973 |
"name": "itemnumber", |
974 |
"in": "path", |
975 |
"description": "Internal item identifier", |
976 |
"required": true, |
977 |
"type": "integer" |
978 |
}, |
979 |
"biblionumberPathParam": { |
980 |
"name": "biblionumber", |
981 |
"in": "path", |
982 |
"description": "Internal biblio identifier", |
983 |
"required": true, |
984 |
"type": "integer" |
985 |
}, |
986 |
"itemnumbersQueryParam": { |
987 |
"name": "itemnumber", |
988 |
"in": "query", |
989 |
"description": "Internal items identifier", |
990 |
"type": "array", |
991 |
"items": { |
992 |
"type": "integer" |
993 |
}, |
994 |
"collectionFormat": "ssv" |
995 |
}, |
996 |
"accountlinesIdPathParam": { |
997 |
"name": "accountlines_id", |
998 |
"in": "path", |
999 |
"description": "Internal accountline identifier", |
1000 |
"required": true, |
1001 |
"type": "integer" |
354 |
} |
1002 |
} |
355 |
} |
1003 |
} |
356 |
} |
1004 |
} |