Bug 23667: Add spec
[koha.git] / api / v1 / swagger / paths / items.json
1 {
2   "/items": {
3     "get": {
4       "x-mojo-to": "Items#list",
5       "operationId": "listItems",
6       "tags": [
7         "items"
8       ],
9       "parameters": [
10         {
11           "name": "external_id",
12           "in": "query",
13           "description": "Search on the item's barcode",
14           "required": false,
15           "type": "string"
16         },
17         {
18           "$ref": "../parameters.json#/match"
19         },
20         {
21           "$ref": "../parameters.json#/order_by"
22         },
23         {
24           "$ref": "../parameters.json#/page"
25         },
26         {
27           "$ref": "../parameters.json#/per_page"
28         }
29       ],
30       "consumes": [
31         "application/json"
32       ],
33       "produces": [
34         "application/json"
35       ],
36       "responses": {
37         "200": {
38           "description": "A list of item",
39           "schema": {
40             "type": "array",
41             "items": {
42               "$ref": "../definitions.json#/item"
43             }
44           }
45         },
46         "401": {
47           "description": "Authentication required",
48           "schema": {
49             "$ref": "../definitions.json#/error"
50           }
51         },
52         "403": {
53           "description": "Access forbidden",
54           "schema": {
55             "$ref": "../definitions.json#/error"
56           }
57         },
58         "500": {
59           "description": "Internal server error",
60           "schema": {
61             "$ref": "../definitions.json#/error"
62           }
63         },
64         "503": {
65           "description": "Under maintenance",
66           "schema": {
67             "$ref": "../definitions.json#/error"
68           }
69         }
70       },
71       "x-koha-authorization": {
72         "permissions": {
73           "catalogue": "1"
74         }
75       }
76     }
77   },
78   "/items/{item_id}": {
79     "get": {
80       "x-mojo-to": "Items#get",
81       "operationId": "getItem",
82       "tags": ["items"],
83       "parameters": [{
84           "$ref": "../parameters.json#/item_id_pp"
85         }
86       ],
87       "consumes": ["application/json"],
88       "produces": ["application/json"],
89       "responses": {
90         "200": {
91           "description": "An item",
92           "schema": {
93             "$ref": "../definitions.json#/item"
94           }
95         },
96         "400": {
97           "description": "Missing or wrong parameters",
98           "schema": {
99             "$ref": "../definitions.json#/error"
100           }
101         },
102         "404": {
103           "description": "Item not found",
104           "schema": {
105             "$ref": "../definitions.json#/error"
106           }
107         },
108         "500": {
109           "description": "Internal server error",
110           "schema": {
111             "$ref": "../definitions.json#/error"
112           }
113         },
114         "503": {
115           "description": "Under maintenance",
116           "schema": {
117             "$ref": "../definitions.json#/error"
118           }
119         }
120       },
121       "x-koha-authorization": {
122         "permissions": {
123           "catalogue": "1"
124         }
125       }
126     }
127   }
128 }