Commit 39114d259c6e4bd5bb60b18f561d06cc24e8c852
1 parent
b5ef6d22
Exists in
master
and in
4 other branches
API: documentation contains infos to status codes in README file.
All the info to return codes from the API functions are available in the `README.md` file as suggested.
Showing
11 changed files
with
36 additions
and
475 deletions
Show diff stats
doc/api/README.md
... | ... | @@ -27,6 +27,42 @@ curl --header "PRIVATE-TOKEN: QVy1PB7sTxfy4pqfZM1U" "http://example.com/api/v3/p |
27 | 27 | |
28 | 28 | The API uses JSON to serialize data. You don't need to specify `.json` at the end of API URL. |
29 | 29 | |
30 | + | |
31 | + | |
32 | +## Status codes | |
33 | + | |
34 | +API requests return different status codes according to | |
35 | + | |
36 | +The API is designed to provide status codes according to the context and how the request | |
37 | +is handled. For example if a `GET` request is successful a status code `200 Ok` | |
38 | +is returned. The API is designed to be RESTful. | |
39 | + | |
40 | +The following list gives an overview of how the API functions are designed. | |
41 | + | |
42 | +API request types: | |
43 | + | |
44 | +* `GET` requests access one or more resources and return the result as JSON | |
45 | +* `POST` requests return `201 Created` if the resource is successfully created and return the newly created resource as JSON | |
46 | +* `GET`, `PUT` and `DELETE` return `200 Ok` if the resource is accessed, modified or deleted successfully, the (modified) result is returned as JSON | |
47 | +* `DELETE` requests are designed to be idempotent, meaning a request a resource still returns `200 Ok` even it was deleted before or is not available. The reasoning behind it is the user is not really interested if the resource existed before or not. | |
48 | + | |
49 | + | |
50 | +The following list shows the possible return codes for API requests. | |
51 | + | |
52 | +Return values: | |
53 | + | |
54 | +* `200 Ok` - The `GET`, `PUT` or `DELETE` request was successful, the resource(s) itself is returned as JSON | |
55 | +* `201 Created` - The `POST` request was successful and the resource is returned as JSON | |
56 | +* `400 Bad Request` - A required attribute of the API request is missing, e.g. the title of an issue is not given | |
57 | +* `401 Unauthorized` - The user is not authenticated, a valid user token is necessary, see above | |
58 | +* `403 Forbidden` - The request is not allowed, e.g. the user is not allowed to delete a project | |
59 | +* `404 Not Found` - A resource could not be accessed, e.g. an ID for a resource could not be found | |
60 | +* `405 Method Not Allowed` - The request is not supported | |
61 | +* `409 Conflict` - A conflicting resource already exists, a project with same name already exists | |
62 | +* `500 Server Error` - While handling the request something went wrong on the server side | |
63 | + | |
64 | + | |
65 | + | |
30 | 66 | #### Pagination |
31 | 67 | |
32 | 68 | When listing resources you can pass the following parameters: | ... | ... |
doc/api/groups.md
... | ... | @@ -17,12 +17,6 @@ GET /groups |
17 | 17 | ] |
18 | 18 | ``` |
19 | 19 | |
20 | -Return values: | |
21 | - | |
22 | -+ `200 Ok` on success and list of groups | |
23 | -+ `401 Unauthorized` if user is not authenticated | |
24 | -+ `404 Not Found` if something fails | |
25 | - | |
26 | 20 | |
27 | 21 | ## Details of a group |
28 | 22 | |
... | ... | @@ -36,12 +30,6 @@ Parameters: |
36 | 30 | |
37 | 31 | + `id` (required) - The ID of a group |
38 | 32 | |
39 | -Return values: | |
40 | - | |
41 | -+ `200 Ok` on success and the details of a group | |
42 | -+ `401 Unauthorized` if user not authenticated | |
43 | -+ `404 Not Found` if group ID not found | |
44 | - | |
45 | 33 | |
46 | 34 | ## New group |
47 | 35 | |
... | ... | @@ -56,10 +44,3 @@ Parameters: |
56 | 44 | + `name` (required) - The name of the group |
57 | 45 | + `path` (required) - The path of the group |
58 | 46 | |
59 | -Return valueS: | |
60 | - | |
61 | -+ `201 Created` on success and the newly created group | |
62 | -+ `400 Bad Request` if one of the required attributes not given | |
63 | -+ `401 Unauthorized` if user is not authenticated | |
64 | -+ `404 Not Found` if something fails | |
65 | - | ... | ... |
doc/api/issues.md
... | ... | @@ -69,13 +69,6 @@ GET /issues |
69 | 69 | ] |
70 | 70 | ``` |
71 | 71 | |
72 | -Return values: | |
73 | - | |
74 | -+ `200 Ok` on success and the list of issues | |
75 | -+ `401 Unauthorized` if user is not authenticated | |
76 | -+ `404 Not Found` if something fails | |
77 | - | |
78 | - | |
79 | 72 | |
80 | 73 | ## List project issues |
81 | 74 | |
... | ... | @@ -90,12 +83,6 @@ Parameters: |
90 | 83 | |
91 | 84 | + `id` (required) - The ID of a project |
92 | 85 | |
93 | -Return values: | |
94 | - | |
95 | -+ `200 Ok` on success and the list of project issues | |
96 | -+ `401 Unauthorized` if user is not authenticated | |
97 | -+ `404 Not Found` if project ID not found | |
98 | - | |
99 | 86 | |
100 | 87 | ## Single issue |
101 | 88 | |
... | ... | @@ -150,12 +137,6 @@ Parameters: |
150 | 137 | } |
151 | 138 | ``` |
152 | 139 | |
153 | -Return values: | |
154 | - | |
155 | -+ `200 Ok` on success and the list of project issues | |
156 | -+ `401 Unauthorized` if user is not authenticated | |
157 | -+ `404 Not Found` if project ID or issue ID not found | |
158 | - | |
159 | 140 | |
160 | 141 | ## New issue |
161 | 142 | |
... | ... | @@ -174,13 +155,6 @@ Parameters: |
174 | 155 | + `milestone_id` (optional) - The ID of a milestone to assign issue |
175 | 156 | + `labels` (optional) - Comma-separated label names for an issue |
176 | 157 | |
177 | -Return values: | |
178 | - | |
179 | -+ `201 Created` on success and the newly created project issue | |
180 | -+ `400 Bad Request` if the required attribute title is not given | |
181 | -+ `401 Unauthorized` if user is not authenticated | |
182 | -+ `404 Not Found` if project ID not found | |
183 | - | |
184 | 158 | |
185 | 159 | ## Edit issue |
186 | 160 | |
... | ... | @@ -201,12 +175,6 @@ Parameters: |
201 | 175 | + `labels` (optional) - Comma-separated label names for an issue |
202 | 176 | + `closed` (optional) - The state of an issue (0 = false, 1 = true) |
203 | 177 | |
204 | -Return values: | |
205 | - | |
206 | -+ `200 Ok` on success and the update project issue | |
207 | -+ `401 Unauthorized` if user is not authenticated | |
208 | -+ `404 Not Found` if project ID or issue ID not found | |
209 | - | |
210 | 178 | |
211 | 179 | ## Delete existing issue (**Deprecated**) |
212 | 180 | |
... | ... | @@ -223,6 +191,3 @@ Parameters: |
223 | 191 | + `id` (required) - The project ID |
224 | 192 | + `issue_id` (required) - The ID of the issue |
225 | 193 | |
226 | -Return values: | |
227 | - | |
228 | -+ `405 Method Not Allowed` is always returned, because the function is deprecated | ... | ... |
doc/api/merge_requests.md
... | ... | @@ -41,12 +41,6 @@ Parameters: |
41 | 41 | ] |
42 | 42 | ``` |
43 | 43 | |
44 | -Return values: | |
45 | - | |
46 | -+ `200 Ok` on success and the list of merge requests | |
47 | -+ `401 Unauthorized` if user is not authenticated | |
48 | -+ `404 Not Found` if project ID not found | |
49 | - | |
50 | 44 | |
51 | 45 | ## Get single MR |
52 | 46 | |
... | ... | @@ -89,12 +83,6 @@ Parameters: |
89 | 83 | } |
90 | 84 | ``` |
91 | 85 | |
92 | -Return values: | |
93 | - | |
94 | -+ `200 Ok` on success and the single merge request | |
95 | -+ `401 Unauthorized` if user is not authenticated | |
96 | -+ `404 Not Found` if project ID or merge request ID not found | |
97 | - | |
98 | 86 | |
99 | 87 | ## Create MR |
100 | 88 | |
... | ... | @@ -140,14 +128,6 @@ Parameters: |
140 | 128 | } |
141 | 129 | ``` |
142 | 130 | |
143 | -Return values: | |
144 | - | |
145 | -+ `201 Created` on success and the created merge request | |
146 | -+ `400 Bad Request` if one of the required attributes is missing | |
147 | -+ `401 Unauthorize` if user is not authenticated or not allowed | |
148 | -+ `403 Forbidden` if user is not allowed to create a merge request | |
149 | -+ `404 Not Found` if project ID not found or something else fails | |
150 | - | |
151 | 131 | |
152 | 132 | ## Update MR |
153 | 133 | |
... | ... | @@ -196,13 +176,6 @@ Parameters: |
196 | 176 | } |
197 | 177 | ``` |
198 | 178 | |
199 | -Return values: | |
200 | - | |
201 | -+ `200 Ok` on success and the updated merge request | |
202 | -+ `401 Unauthorize` if user is not authenticated or not allowed | |
203 | -+ `403 Forbidden` if user is not allowed to update the merge request | |
204 | -+ `404 Not Found` if project ID or merge request ID not found | |
205 | - | |
206 | 179 | |
207 | 180 | ## Post comment to MR |
208 | 181 | |
... | ... | @@ -232,10 +205,3 @@ Parameters: |
232 | 205 | "note":"text1" |
233 | 206 | } |
234 | 207 | ``` |
235 | - | |
236 | -Return values: | |
237 | - | |
238 | -+ `201 Created` on success and the new comment | |
239 | -+ `400 Bad Request` if the required attribute note is not given | |
240 | -+ `401 Unauthorized` if user is not authenticated | |
241 | -+ `404 Not Found` if project ID or merge request ID not found | ... | ... |
doc/api/milestones.md
... | ... | @@ -10,12 +10,6 @@ Parameters: |
10 | 10 | |
11 | 11 | + `id` (required) - The ID of a project |
12 | 12 | |
13 | -Return values: | |
14 | - | |
15 | -+ `200 Ok` on success and the list of project milestones | |
16 | -+ `401 Unauthorized` if user is not authenticated | |
17 | -+ `404 Not Found` if project ID not found | |
18 | - | |
19 | 13 | |
20 | 14 | ## Get single milestone |
21 | 15 | |
... | ... | @@ -30,12 +24,6 @@ Parameters: |
30 | 24 | + `id` (required) - The ID of a project |
31 | 25 | + `milestone_id` (required) - The ID of a project milestone |
32 | 26 | |
33 | -Return values: | |
34 | - | |
35 | -+ `200 Ok` on success and the single milestone | |
36 | -+ `401 Unauthorized` if user is not authenticated | |
37 | -+ `404 Not Found` if project ID not found | |
38 | - | |
39 | 27 | |
40 | 28 | ## Create new milestone |
41 | 29 | |
... | ... | @@ -52,13 +40,6 @@ Parameters: |
52 | 40 | + `description` (optional) - The description of the milestone |
53 | 41 | + `due_date` (optional) - The due date of the milestone |
54 | 42 | |
55 | -Return values: | |
56 | - | |
57 | -+ `201 Created` on success and the new milestone | |
58 | -+ `400 Bad Request` if the required attribute title is not given | |
59 | -+ `401 Unauthorized` if user is not authenticated | |
60 | -+ `404 Not Found` if project ID not found | |
61 | - | |
62 | 43 | |
63 | 44 | ## Edit milestone |
64 | 45 | |
... | ... | @@ -77,8 +58,3 @@ Parameters: |
77 | 58 | + `due_date` (optional) - The due date of the milestone |
78 | 59 | + `closed` (optional) - The status of the milestone |
79 | 60 | |
80 | -Return values: | |
81 | - | |
82 | -+ `200 Ok` on success and the updated milestone | |
83 | -+ `401 Unauthorized` if user is not authenticated | |
84 | -+ `404 Not Found` if project ID or milestone ID not found | ... | ... |
doc/api/notes.md
... | ... | @@ -30,11 +30,6 @@ Parameters: |
30 | 30 | |
31 | 31 | + `id` (required) - The ID of a project |
32 | 32 | |
33 | -Return values: | |
34 | - | |
35 | -+ `200 Ok` on success and a list of notes | |
36 | -+ `401 Unauthorized` if user is not authorized to access this page | |
37 | - | |
38 | 33 | |
39 | 34 | ### Get single wall note |
40 | 35 | |
... | ... | @@ -49,12 +44,6 @@ Parameters: |
49 | 44 | + `id` (required) - The ID of a project |
50 | 45 | + `note_id` (required) - The ID of a wall note |
51 | 46 | |
52 | -Return values: | |
53 | - | |
54 | -+ `200 Ok` on success and the wall note (see example at `GET /projects/:id/notes`) | |
55 | -+ `401 Unauthorized` if user is not authenticated | |
56 | -+ `404 Not Found` if note ID not found | |
57 | - | |
58 | 47 | |
59 | 48 | ### Create new wall note |
60 | 49 | |
... | ... | @@ -69,14 +58,6 @@ Parameters: |
69 | 58 | + `id` (required) - The ID of a project |
70 | 59 | + `body` (required) - The content of a note |
71 | 60 | |
72 | -Return values: | |
73 | - | |
74 | -+ `201 Created` on success and the new wall note | |
75 | -+ `400 Bad Request` if attribute body is not given | |
76 | -+ `401 Unauthorized` if user is not authenticated | |
77 | -+ `404 Not Found` if something else fails | |
78 | - | |
79 | - | |
80 | 61 | |
81 | 62 | ## Issues |
82 | 63 | |
... | ... | @@ -93,12 +74,6 @@ Parameters: |
93 | 74 | + `id` (required) - The ID of a project |
94 | 75 | + `issue_id` (required) - The ID of an issue |
95 | 76 | |
96 | -Return values: | |
97 | - | |
98 | -+ `200 Ok` on success and a list of notes for a single issue | |
99 | -+ `401 Unauthorized` if user is not authenticated | |
100 | -+ `404 Not Found` if project ID or issue ID not found | |
101 | - | |
102 | 77 | |
103 | 78 | ### Get single issue note |
104 | 79 | |
... | ... | @@ -114,12 +89,6 @@ Parameters: |
114 | 89 | + `issue_id` (required) - The ID of a project issue |
115 | 90 | + `note_id` (required) - The ID of an issue note |
116 | 91 | |
117 | -Return values: | |
118 | - | |
119 | -+ `200 Ok` on success and the single issue note | |
120 | -+ `401 Unauthorized` if user is not authenticated | |
121 | -+ `404 Not Found` if project ID, issue ID or note ID is not found | |
122 | - | |
123 | 92 | |
124 | 93 | ### Create new issue note |
125 | 94 | |
... | ... | @@ -135,14 +104,6 @@ Parameters: |
135 | 104 | + `issue_id` (required) - The ID of an issue |
136 | 105 | + `body` (required) - The content of a note |
137 | 106 | |
138 | -Return values: | |
139 | - | |
140 | -+ `201 Created` on succes and the created note | |
141 | -+ `400 Bad Request` if the required attribute body is not given | |
142 | -+ `401 Unauthorized` if the user is not authenticated | |
143 | -+ `404 Not Found` if the project ID or the issue ID not found | |
144 | - | |
145 | - | |
146 | 107 | |
147 | 108 | ## Snippets |
148 | 109 | |
... | ... | @@ -159,12 +120,6 @@ Parameters: |
159 | 120 | + `id` (required) - The ID of a project |
160 | 121 | + `snippet_id` (required) - The ID of a project snippet |
161 | 122 | |
162 | -Return values: | |
163 | - | |
164 | -+ `200 Ok` on success and a list of notes for a single snippet | |
165 | -+ `401 Unauthorized` if user is not authenticated | |
166 | -+ `404 Not Found` if project ID or issue ID not found | |
167 | - | |
168 | 123 | |
169 | 124 | ### Get single snippet note |
170 | 125 | |
... | ... | @@ -180,12 +135,6 @@ Parameters: |
180 | 135 | + `snippet_id` (required) - The ID of a project snippet |
181 | 136 | + `note_id` (required) - The ID of an snippet note |
182 | 137 | |
183 | -Return values: | |
184 | - | |
185 | -+ `200 Ok` on success and the single snippet note | |
186 | -+ `401 Unauthorized` if user is not authenticated | |
187 | -+ `404 Not Found` if project ID, snippet ID or note ID is not found | |
188 | - | |
189 | 138 | |
190 | 139 | ### Create new snippet note |
191 | 140 | |
... | ... | @@ -201,14 +150,6 @@ Parameters: |
201 | 150 | + `snippet_id` (required) - The ID of an snippet |
202 | 151 | + `body` (required) - The content of a note |
203 | 152 | |
204 | -Return values: | |
205 | - | |
206 | -+ `201 Created` on success and the new snippet note | |
207 | -+ `400 Bad Request` if the required attribute body not given | |
208 | -+ `401 Unauthorized` if user is not authenticated | |
209 | -+ `404 Not Found` if project ID or snippet ID not found | |
210 | - | |
211 | - | |
212 | 153 | |
213 | 154 | ## Merge Requests |
214 | 155 | |
... | ... | @@ -225,12 +166,6 @@ Parameters: |
225 | 166 | + `id` (required) - The ID of a project |
226 | 167 | + `merge_request_id` (required) - The ID of a project merge request |
227 | 168 | |
228 | -Return values: | |
229 | - | |
230 | -+ `200 Ok` on success and a list of notes for a single merge request | |
231 | -+ `401 Unauthorized` if user is not authenticated | |
232 | -+ `404 Not Found` if project ID or merge request ID not found | |
233 | - | |
234 | 169 | |
235 | 170 | ### Get single merge request note |
236 | 171 | |
... | ... | @@ -246,12 +181,6 @@ Parameters: |
246 | 181 | + `merge_request_id` (required) - The ID of a project merge request |
247 | 182 | + `note_id` (required) - The ID of a merge request note |
248 | 183 | |
249 | -Return values: | |
250 | - | |
251 | -+ `200 Ok` on success and the single merge request note | |
252 | -+ `401 Unauthorized` if user is not authenticated | |
253 | -+ `404 Not Found` if project ID, merge request ID or note ID is not found | |
254 | - | |
255 | 184 | |
256 | 185 | ### Create new merge request note |
257 | 186 | |
... | ... | @@ -267,10 +196,3 @@ Parameters: |
267 | 196 | + `merge_request_id` (required) - The ID of a merge request |
268 | 197 | + `body` (required) - The content of a note |
269 | 198 | |
270 | -Return values: | |
271 | - | |
272 | -+ `201 Created` on success and the new merge request note | |
273 | -+ `400 Bad Request` if the required attribute body not given | |
274 | -+ `401 Unauthorized` if user is not authenticated | |
275 | -+ `404 Not Found` if project ID or merge request ID not found | |
276 | - | ... | ... |
doc/api/projects.md
... | ... | @@ -57,11 +57,6 @@ GET /projects |
57 | 57 | ] |
58 | 58 | ``` |
59 | 59 | |
60 | -Return values: | |
61 | - | |
62 | -+ `200 Ok` on success and a list of projects | |
63 | -+ `401 Unauthorized` if the user is not allowed to access projects | |
64 | - | |
65 | 60 | |
66 | 61 | ### Get single project |
67 | 62 | |
... | ... | @@ -101,11 +96,6 @@ Parameters: |
101 | 96 | } |
102 | 97 | ``` |
103 | 98 | |
104 | -Return Values: | |
105 | - | |
106 | -+ `200 Ok` if the project with given ID is found and the JSON response | |
107 | -+ `404 Not Found` if no project with ID found | |
108 | - | |
109 | 99 | |
110 | 100 | ### Create project |
111 | 101 | |
... | ... | @@ -125,13 +115,6 @@ Parameters: |
125 | 115 | + `merge_requests_enabled` (optional) - enabled by default |
126 | 116 | + `wiki_enabled` (optional) - enabled by default |
127 | 117 | |
128 | -Return values: | |
129 | - | |
130 | -+ `201 Created` on success with the project data (see example at `GET /projects/:id`) | |
131 | -+ `400 Bad Request` if the required attribute name is not given | |
132 | -+ `403 Forbidden` if the user is not allowed to create a project, e.g. reached the project limit already | |
133 | -+ `404 Not Found` if something else fails | |
134 | - | |
135 | 118 | |
136 | 119 | ## Project access levels |
137 | 120 | |
... | ... | @@ -159,11 +142,6 @@ Parameters: |
159 | 142 | + `id` (required) - The ID or NAME of a project |
160 | 143 | + `query` - Query string |
161 | 144 | |
162 | -Return Values: | |
163 | - | |
164 | -+ `200 Ok` on success and a list of found team members | |
165 | -+ `404 Not Found` if project with ID not found | |
166 | - | |
167 | 145 | |
168 | 146 | ## Team members |
169 | 147 | |
... | ... | @@ -192,11 +170,6 @@ Parameters: |
192 | 170 | } |
193 | 171 | ``` |
194 | 172 | |
195 | -Return Values: | |
196 | - | |
197 | -+ `200 Ok` on success and the team member, see example | |
198 | -+ `404 Not Found` if either the project or the team member could not be found | |
199 | - | |
200 | 173 | |
201 | 174 | ### Add project team member |
202 | 175 | |
... | ... | @@ -214,14 +187,6 @@ Parameters: |
214 | 187 | + `user_id` (required) - The ID of a user to add |
215 | 188 | + `access_level` (required) - Project access level |
216 | 189 | |
217 | -Return Values: | |
218 | - | |
219 | -+ `201 Created` on success and the added user is returned, even if the user is already team member | |
220 | -+ `400 Bad Request` if the required attribute access_level is not given | |
221 | -+ `401 Unauthorized` if the user is not allowed to add a new team member | |
222 | -+ `404 Not Found` if a resource can not be found, e.g. project with ID not available | |
223 | -+ `422 Unprocessable Entity` if an unknown access_level is given | |
224 | - | |
225 | 190 | |
226 | 191 | ### Edit project team member |
227 | 192 | |
... | ... | @@ -237,14 +202,6 @@ Parameters: |
237 | 202 | + `user_id` (required) - The ID of a team member |
238 | 203 | + `access_level` (required) - Project access level |
239 | 204 | |
240 | -Return Values: | |
241 | - | |
242 | -+ `200 Ok` on succes and the modified team member | |
243 | -+ `400 Bad Request` if the required attribute access_level is not given | |
244 | -+ `401 Unauthorized` if the user is not allowed to modify a team member | |
245 | -+ `404 Not Found` if a resource can not be found, e.g. project with ID not available | |
246 | -+ `422 Unprocessable Entity` if an unknown access_level is given | |
247 | - | |
248 | 205 | |
249 | 206 | ### Remove project team member |
250 | 207 | |
... | ... | @@ -259,12 +216,6 @@ Parameters: |
259 | 216 | + `id` (required) - The ID or NAME of a project |
260 | 217 | + `user_id` (required) - The ID of a team member |
261 | 218 | |
262 | -Return Values: | |
263 | - | |
264 | -+ `200 Ok` on success | |
265 | -+ `401 Unauthorized` if user is not allowed to remove a team member | |
266 | -+ `404 Not Found` if either project or user can not be found | |
267 | - | |
268 | 219 | This method is idempotent and can be called multiple times with the same parameters. |
269 | 220 | Revoking team membership for a user who is not currently a team member is considered success. |
270 | 221 | Please note that the returned JSON currently differs slightly. Thus you should not |
... | ... | @@ -285,12 +236,6 @@ Parameters: |
285 | 236 | |
286 | 237 | + `id` (required) - The ID or NAME of a project |
287 | 238 | |
288 | -Return values: | |
289 | - | |
290 | -+ `200 Ok` on success with a list of hooks | |
291 | -+ `401 Unauthorized` if user is not allowed to get list of hooks | |
292 | -+ `404 Not Found` if project can not be found | |
293 | - | |
294 | 239 | |
295 | 240 | ### Get project hook |
296 | 241 | |
... | ... | @@ -313,11 +258,6 @@ Parameters: |
313 | 258 | } |
314 | 259 | ``` |
315 | 260 | |
316 | -Return values: | |
317 | - | |
318 | -+ `200 Ok` on sucess and the hook with the given ID | |
319 | -+ `404 Not Found` if the hook can not be found | |
320 | - | |
321 | 261 | |
322 | 262 | ### Add project hook |
323 | 263 | |
... | ... | @@ -332,13 +272,6 @@ Parameters: |
332 | 272 | + `id` (required) - The ID or NAME of a project |
333 | 273 | + `url` (required) - The hook URL |
334 | 274 | |
335 | -Return values: | |
336 | - | |
337 | -+ `201 Created` on success and the newly created hook | |
338 | -+ `400 Bad Request` if url is not given | |
339 | -+ `404 Not Found` if project with ID not found | |
340 | -+ `422 Unprocessable Entity` if the url is invalid (must begin with `http` or `https`) | |
341 | - | |
342 | 275 | |
343 | 276 | ### Edit project hook |
344 | 277 | |
... | ... | @@ -354,13 +287,6 @@ Parameters: |
354 | 287 | + `hook_id` (required) - The ID of a project hook |
355 | 288 | + `url` (required) - The hook URL |
356 | 289 | |
357 | -Return values: | |
358 | - | |
359 | -+ `200 Ok` on success and the modified hook (see JSON response above) | |
360 | -+ `400 Bad Request` if the url attribute is not given | |
361 | -+ `404 Not Found` if project or hook can not be found | |
362 | -+ `422 Unprocessable Entity` if the url is invalid (must begin with `http` or `https`) | |
363 | - | |
364 | 290 | |
365 | 291 | ### Delete project hook |
366 | 292 | |
... | ... | @@ -376,12 +302,6 @@ Parameters: |
376 | 302 | + `id` (required) - The ID or NAME of a project |
377 | 303 | + `hook_id` (required) - The ID of hook to delete |
378 | 304 | |
379 | -Return values: | |
380 | - | |
381 | -+ `200 Ok` on succes | |
382 | -+ `403 Forbidden` if user is not allowed to delete a hook | |
383 | -+ `404 Not Found` if the project can not be found | |
384 | - | |
385 | 305 | Note the JSON response differs if the hook is available or not. If the project hook |
386 | 306 | is available before it is returned in the JSON response or an empty response is returned. |
387 | 307 | |
... | ... | @@ -400,11 +320,6 @@ Parameters: |
400 | 320 | |
401 | 321 | + `id` (required) - The ID of the project |
402 | 322 | |
403 | -Return values: | |
404 | - | |
405 | -+ `200 Ok` on success and a list of branches | |
406 | -+ `404 Not Found` if project is not found | |
407 | - | |
408 | 323 | |
409 | 324 | ### List single branch |
410 | 325 | |
... | ... | @@ -419,11 +334,6 @@ Parameters: |
419 | 334 | + `id` (required) - The ID of the project. |
420 | 335 | + `branch` (required) - The name of the branch. |
421 | 336 | |
422 | -Return values: | |
423 | - | |
424 | -+ `200 Ok` on success | |
425 | -+ `404 Not Found` if either project with ID or branch could not be found | |
426 | - | |
427 | 337 | |
428 | 338 | ### Protect single branch |
429 | 339 | |
... | ... | @@ -438,11 +348,6 @@ Parameters: |
438 | 348 | + `id` (required) - The ID of the project. |
439 | 349 | + `branch` (required) - The name of the branch. |
440 | 350 | |
441 | -Return values: | |
442 | - | |
443 | -+ `200 Ok` on success | |
444 | -+ `404 Not Found` if either project or branch could not be found | |
445 | - | |
446 | 351 | |
447 | 352 | ### Unprotect single branch |
448 | 353 | |
... | ... | @@ -457,11 +362,6 @@ Parameters: |
457 | 362 | + `id` (required) - The ID of the project. |
458 | 363 | + `branch` (required) - The name of the branch. |
459 | 364 | |
460 | -Return values: | |
461 | - | |
462 | -+ `200 Ok` on success | |
463 | -+ `404 Not Found` if either project or branch could not be found | |
464 | - | |
465 | 365 | |
466 | 366 | ### List tags |
467 | 367 | |
... | ... | @@ -475,11 +375,6 @@ Parameters: |
475 | 375 | |
476 | 376 | + `id` (required) - The ID of the project |
477 | 377 | |
478 | -Return values: | |
479 | - | |
480 | -+ `200 Ok` on success and a list of tags | |
481 | -+ `404 Not Found` if project with id not found | |
482 | - | |
483 | 378 | |
484 | 379 | ### List commits |
485 | 380 | |
... | ... | @@ -517,11 +412,6 @@ Parameters: |
517 | 412 | |
518 | 413 | + `id` (required) - The ID of the project |
519 | 414 | |
520 | -Return values: | |
521 | - | |
522 | -+ `200 Ok` on success and the list of snippets | |
523 | -+ `404 Not Found` if project with id not found | |
524 | - | |
525 | 415 | |
526 | 416 | ### List single snippet |
527 | 417 | |
... | ... | @@ -536,11 +426,6 @@ Parameters: |
536 | 426 | + `id` (required) - The ID of the project |
537 | 427 | + `snippet_id` (required) - The ID of the snippet |
538 | 428 | |
539 | -Return values: | |
540 | - | |
541 | -+ `200 Ok` on success and the project snippet | |
542 | -+ `404 Not Found` if project ID or snippet ID not found | |
543 | - | |
544 | 429 | |
545 | 430 | ### Create snippet |
546 | 431 | |
... | ... | @@ -558,13 +443,6 @@ Parameters: |
558 | 443 | + `code` (required) - The content of the snippet |
559 | 444 | + `lifetime` (optional) - The expiration date of a snippet |
560 | 445 | |
561 | -Return values: | |
562 | - | |
563 | -+ `201 Created` on success and the new snippet | |
564 | -+ `400 Bad Request` if one of the required attributes is missing | |
565 | -+ `401 Unauthorized` if it is not allowed to post a new snippet | |
566 | -+ `404 Not Found` if the project ID is not found | |
567 | - | |
568 | 446 | |
569 | 447 | ### Update snippet |
570 | 448 | |
... | ... | @@ -583,12 +461,6 @@ Parameters: |
583 | 461 | + `lifetime` (optional) - The new expiration date of the snippet |
584 | 462 | + `code` (optional) - The content of the snippet |
585 | 463 | |
586 | -Return values: | |
587 | - | |
588 | -+ `200 Ok` on success and the content of the updated snippet | |
589 | -+ `401 Unauthorized` if the user is not allowed to modify the snippet | |
590 | -+ `404 Not Found` if project ID or snippet ID is not found | |
591 | - | |
592 | 464 | |
593 | 465 | ## Delete snippet |
594 | 466 | |
... | ... | @@ -604,8 +476,3 @@ Paramaters: |
604 | 476 | + `id` (required) - The ID of the project |
605 | 477 | + `snippet_id` (required) - The ID of the snippet |
606 | 478 | |
607 | -Return values: | |
608 | - | |
609 | -+ `200 Ok` on success, if the snippet got deleted it is returned, if not available then an empty JSON response | |
610 | -+ `401 Unauthorized` if the user is not allowed to remove the snippet | |
611 | -+ `404 Not Found` if the project ID not found | ... | ... |
doc/api/repositories.md
... | ... | @@ -39,12 +39,6 @@ Parameters: |
39 | 39 | ] |
40 | 40 | ``` |
41 | 41 | |
42 | -Return values: | |
43 | - | |
44 | -+ `200 Ok`on success and a list of repository branches for the project | |
45 | -+ `401 Unauthorized` if user is not authenticated | |
46 | -+ `404 Not Found` if project with ID not found | |
47 | - | |
48 | 42 | |
49 | 43 | ## Get single repository branch |
50 | 44 | |
... | ... | @@ -86,13 +80,6 @@ Parameters: |
86 | 80 | } |
87 | 81 | ``` |
88 | 82 | |
89 | -Return values: | |
90 | - | |
91 | -+ `200 Ok` on success and the repository branch | |
92 | -+ `401 Unauthorized` if user is not authenticated | |
93 | -+ `404 Not Found` if the project ID or branch not found | |
94 | - | |
95 | - | |
96 | 83 | |
97 | 84 | ## Protect repository branch |
98 | 85 | |
... | ... | @@ -135,13 +122,6 @@ Parameters: |
135 | 122 | } |
136 | 123 | ``` |
137 | 124 | |
138 | -Return values: | |
139 | - | |
140 | -+ `200 Ok` on success and the updated repository branch | |
141 | -+ `401 Unauthorized` if user is not authenticated | |
142 | -+ `404 Not Found` if the the project ID or branch not found | |
143 | - | |
144 | - | |
145 | 125 | |
146 | 126 | ## Unprotect repository branch |
147 | 127 | |
... | ... | @@ -184,13 +164,6 @@ Parameters: |
184 | 164 | } |
185 | 165 | ``` |
186 | 166 | |
187 | -Return values: | |
188 | - | |
189 | -+ `200 Ok` on success and the updated repository branch | |
190 | -+ `401 Unauthorized` if user is not authenticated | |
191 | -+ `404 Not Found` if the project ID or the branch not found | |
192 | - | |
193 | - | |
194 | 167 | |
195 | 168 | ## List project repository tags |
196 | 169 | |
... | ... | @@ -231,12 +204,6 @@ Parameters: |
231 | 204 | ] |
232 | 205 | ``` |
233 | 206 | |
234 | -Return values: | |
235 | - | |
236 | -+ `200 Ok` on success and the list of repository tags | |
237 | -+ `401 Unauthorized` if user is not authenticated | |
238 | -+ `404 Not Found` if the project ID not found | |
239 | - | |
240 | 207 | |
241 | 208 | ## List repository commits |
242 | 209 | |
... | ... | @@ -274,12 +241,6 @@ Parameters: |
274 | 241 | ] |
275 | 242 | ``` |
276 | 243 | |
277 | -Return values: | |
278 | - | |
279 | -+ `200 Ok` on success and a list of commits | |
280 | -+ `401 Unauthorized` if the user is not authenticated | |
281 | -+ `404 Not Found` if the project ID not found | |
282 | - | |
283 | 244 | |
284 | 245 | ## Raw blob content |
285 | 246 | |
... | ... | @@ -294,11 +255,3 @@ Parameters: |
294 | 255 | + `id` (required) - The ID of a project |
295 | 256 | + `sha` (required) - The commit or branch name |
296 | 257 | + `filepath` (required) - The path the file |
297 | - | |
298 | -Return values: | |
299 | - | |
300 | -+ `200 Ok` on success and the raw content of the file | |
301 | -+ `400 Bad Request` if required attribute filepath is not given | |
302 | -+ `401 Unauthorized` if user is not authenticated | |
303 | -+ `404 Not Found` if project ID or sha commit or branch name not found | |
304 | - | ... | ... |
doc/api/session.md
doc/api/snippets.md
... | ... | @@ -10,11 +10,6 @@ Parameters: |
10 | 10 | |
11 | 11 | + `id` (required) - The ID of a project |
12 | 12 | |
13 | -Return values: | |
14 | - | |
15 | -+ `200 Ok` on success and a list of project snippets | |
16 | -+ `401 Unauthorized` if user is not authenticated | |
17 | - | |
18 | 13 | |
19 | 14 | ## Single snippet |
20 | 15 | |
... | ... | @@ -48,12 +43,6 @@ Parameters: |
48 | 43 | } |
49 | 44 | ``` |
50 | 45 | |
51 | -Return values: | |
52 | - | |
53 | -+ `200 Ok` on success and the project snippet | |
54 | -+ `401 Unauthorized` if user is not authenticated | |
55 | -+ `404 Not Found` if snippet ID not found | |
56 | - | |
57 | 46 | |
58 | 47 | ## Create new snippet |
59 | 48 | |
... | ... | @@ -71,13 +60,6 @@ Parameters: |
71 | 60 | + `lifetime` (optional) - The expiration date of a snippet |
72 | 61 | + `code` (required) - The content of a snippet |
73 | 62 | |
74 | -Return values: | |
75 | - | |
76 | -+ `201 Created` if snippet was successfully created and the snippet as JSON payload | |
77 | -+ `400 Bad Request` if one of the required attributes is not given | |
78 | -+ `401 Unauthorized` if user is not authenticated | |
79 | -+ `404 Not Found` if project ID not found | |
80 | - | |
81 | 63 | |
82 | 64 | ## Edit snippet |
83 | 65 | |
... | ... | @@ -96,12 +78,6 @@ Parameters: |
96 | 78 | + `lifetime` (optional) - The expiration date of a snippet |
97 | 79 | + `code` (optional) - The content of a snippet |
98 | 80 | |
99 | -Return values: | |
100 | - | |
101 | -+ `200 Ok` on success and the updated project snippet | |
102 | -+ `401 Unauthorized` if user is not authenticated | |
103 | -+ `404 Not Found` if project ID not found | |
104 | - | |
105 | 81 | |
106 | 82 | ## Delete snippet |
107 | 83 | |
... | ... | @@ -117,12 +93,6 @@ Parameters: |
117 | 93 | + `id` (required) - The ID of a project |
118 | 94 | + `snippet_id` (required) - The ID of a project's snippet |
119 | 95 | |
120 | -Return values: | |
121 | - | |
122 | -+ `200 Ok` on success and if the snippet was deleted its content | |
123 | -+ `401 Unauthorized` if user is not authenticated | |
124 | -+ `404 Not Found` if project ID not found | |
125 | - | |
126 | 96 | |
127 | 97 | ## Snippet content |
128 | 98 | |
... | ... | @@ -136,9 +106,3 @@ Parameters: |
136 | 106 | |
137 | 107 | + `id` (required) - The ID of a project |
138 | 108 | + `snippet_id` (required) - The ID of a project's snippet |
139 | - | |
140 | -Return values: | |
141 | - | |
142 | -+ `200 Ok` on success and the raw snippet | |
143 | -+ `401 Unauthorized` if user is not authenticated | |
144 | -+ `404 Not Found` if project ID or snippet ID is not found | |
145 | 109 | \ No newline at end of file | ... | ... |
doc/api/users.md
... | ... | @@ -43,11 +43,6 @@ GET /users |
43 | 43 | ] |
44 | 44 | ``` |
45 | 45 | |
46 | -Return values: | |
47 | - | |
48 | -+ `200 Ok` on success and a list with all users | |
49 | -+ `401 Unauthorized` if user is not allowed to access the list | |
50 | - | |
51 | 46 | |
52 | 47 | ## Single user |
53 | 48 | |
... | ... | @@ -80,12 +75,6 @@ Parameters: |
80 | 75 | } |
81 | 76 | ``` |
82 | 77 | |
83 | -Return values: | |
84 | - | |
85 | -+ `200 Ok` on success and the user entry | |
86 | -+ `401 Unauthorized` if it is not allowed to access the user | |
87 | -+ `404 Not Found` if the user with ID is not found | |
88 | - | |
89 | 78 | |
90 | 79 | ## User creation |
91 | 80 | |
... | ... | @@ -109,15 +98,6 @@ Parameters: |
109 | 98 | + `provider` (optional) - External provider name |
110 | 99 | + `bio` (optional) - User's bio |
111 | 100 | |
112 | -Return values: | |
113 | - | |
114 | -+ `201 Created` on success and returns the new user | |
115 | -+ `400 Bad Request` if one of the required attributes is missing from the request | |
116 | -+ `401 Unauthorized` if the user is not authorized | |
117 | -+ `403 Forbidden` if the user is not allowed to create a new user (must be admin) | |
118 | -+ `404 Not Found` if something else fails | |
119 | -+ `409 Conflict` if a user with the same email address or username already exists | |
120 | - | |
121 | 101 | |
122 | 102 | ## User modification |
123 | 103 | |
... | ... | @@ -141,13 +121,6 @@ Parameters: |
141 | 121 | + `provider` - External provider name |
142 | 122 | + `bio` - User's bio |
143 | 123 | |
144 | -Return values: | |
145 | - | |
146 | -+ `200 Ok` on success and returns the new user | |
147 | -+ `401 Unauthorized` if the user is not authorized | |
148 | -+ `403 Forbidden` if the user is not allowed to create a new user (must be admin) | |
149 | -+ `404 Not Found` if something else fails | |
150 | - | |
151 | 124 | Note, at the moment this method does only return a 404 error, even in cases where a 409 (Conflict) would |
152 | 125 | be more appropriate, e.g. when renaming the email address to some exsisting one. |
153 | 126 | |
... | ... | @@ -166,13 +139,6 @@ Parameters: |
166 | 139 | |
167 | 140 | + `id` (required) - The ID of the user |
168 | 141 | |
169 | -Return values: | |
170 | - | |
171 | -+ `200 Ok` on success and returns the deleted user | |
172 | -+ `401 Unauthorized` if the user is not authorized | |
173 | -+ `403 Forbidden` if the user is not allowed to create a new user (must be admin) | |
174 | -+ `404 Not Found` if user with ID not found or something else fails | |
175 | - | |
176 | 142 | |
177 | 143 | ## Current user |
178 | 144 | |
... | ... | @@ -199,12 +165,6 @@ GET /user |
199 | 165 | } |
200 | 166 | ``` |
201 | 167 | |
202 | -Return values: | |
203 | - | |
204 | -+ `200 Ok` on success and returns the current user | |
205 | -+ `401 Unauthorized` if the user is not authorized | |
206 | -+ `404 Not Found` if something else fails | |
207 | - | |
208 | 168 | |
209 | 169 | ## List SSH keys |
210 | 170 | |
... | ... | @@ -237,12 +197,6 @@ Parameters: |
237 | 197 | |
238 | 198 | + **none** |
239 | 199 | |
240 | -Return values: | |
241 | - | |
242 | -+ `200 Ok` on success and a list of ssh keys | |
243 | -+ `401 Unauthorized` if the user is not authenticated | |
244 | -+ `404 Not Found` if something else fails | |
245 | - | |
246 | 200 | |
247 | 201 | ## Single SSH key |
248 | 202 | |
... | ... | @@ -266,12 +220,6 @@ Parameters: |
266 | 220 | } |
267 | 221 | ``` |
268 | 222 | |
269 | -Return values: | |
270 | - | |
271 | -+ `200 Ok` on success and the ssh key with ID | |
272 | -+ `401 Unauthorized` if it is not allowed to access the user | |
273 | -+ `404 Not Found` if the ssh key with ID not found | |
274 | - | |
275 | 223 | |
276 | 224 | ## Add SSH key |
277 | 225 | |
... | ... | @@ -286,13 +234,6 @@ Parameters: |
286 | 234 | + `title` (required) - new SSH Key's title |
287 | 235 | + `key` (required) - new SSH key |
288 | 236 | |
289 | -Return values: | |
290 | - | |
291 | -+ `201 Created` on success and the added key | |
292 | -+ `400 Bad Request` if one of the required attributes is not given | |
293 | -+ `401 Unauthorized` if user is not authorized to add ssh key | |
294 | -+ `404 Not Found` if something else fails | |
295 | - | |
296 | 237 | |
297 | 238 | ## Delete SSH key |
298 | 239 | |
... | ... | @@ -307,8 +248,3 @@ Parameters: |
307 | 248 | |
308 | 249 | + `id` (required) - SSH key ID |
309 | 250 | |
310 | -Return values: | |
311 | - | |
312 | -+ `200 Ok` on success | |
313 | -+ `401 Unauthorized` if user is not allowed to delete they key | |
314 | -+ `404 Not Found` if something else fails | ... | ... |