Statistics
| Branch: | Tag: | Revision:

root / docs / project-api-guide.rst @ 0f2bd3f9

History | View | Annotate | Download (9.3 kB)

1 2556cf45 Giorgos Korfiatis
Projects
2 2556cf45 Giorgos Korfiatis
--------
3 2556cf45 Giorgos Korfiatis
4 2556cf45 Giorgos Korfiatis
Astakos allows users to create *projects*. Through a project, one can ask for
5 2556cf45 Giorgos Korfiatis
additional resources on the virtual infrastructure for a certain amount of
6 2556cf45 Giorgos Korfiatis
time. All users admitted to the project gain access to these resources.
7 2556cf45 Giorgos Korfiatis
8 2556cf45 Giorgos Korfiatis
9 2556cf45 Giorgos Korfiatis
Retrieve List of Projects
10 2556cf45 Giorgos Korfiatis
.........................
11 2556cf45 Giorgos Korfiatis
12 2556cf45 Giorgos Korfiatis
**GET** /account/v1.0/projects
13 2556cf45 Giorgos Korfiatis
14 2556cf45 Giorgos Korfiatis
Returns all accessible projects. See below.
15 2556cf45 Giorgos Korfiatis
16 2556cf45 Giorgos Korfiatis
====================  =========================
17 2556cf45 Giorgos Korfiatis
Request Header Name   Value
18 2556cf45 Giorgos Korfiatis
====================  =========================
19 2556cf45 Giorgos Korfiatis
X-Auth-Token          User authentication token
20 2556cf45 Giorgos Korfiatis
====================  =========================
21 2556cf45 Giorgos Korfiatis
22 0f2bd3f9 Giorgos Korfiatis
The request can include the following filters as GET parameters:
23 0f2bd3f9 Giorgos Korfiatis
``state``, ``owner``, ``name``.
24 0f2bd3f9 Giorgos Korfiatis
25 0f2bd3f9 Giorgos Korfiatis
It also supports parameter ``mode`` with possible values: ``member``,
26 0f2bd3f9 Giorgos Korfiatis
``default``. The former restricts the result to active projects where the
27 0f2bd3f9 Giorgos Korfiatis
request user is an active member. By default it returns all accessible
28 0f2bd3f9 Giorgos Korfiatis
projects; see below.
29 2556cf45 Giorgos Korfiatis
30 2556cf45 Giorgos Korfiatis
**Example Request**:
31 2556cf45 Giorgos Korfiatis
32 2556cf45 Giorgos Korfiatis
.. code-block:: javascript
33 2556cf45 Giorgos Korfiatis
34 0f2bd3f9 Giorgos Korfiatis
GET /account/v1.0/projects?state=active&owner=uuid
35 2556cf45 Giorgos Korfiatis
36 2556cf45 Giorgos Korfiatis
**Response Codes**:
37 2556cf45 Giorgos Korfiatis
38 2556cf45 Giorgos Korfiatis
======  =====================
39 2556cf45 Giorgos Korfiatis
Status  Description
40 2556cf45 Giorgos Korfiatis
======  =====================
41 2556cf45 Giorgos Korfiatis
200     Success
42 2556cf45 Giorgos Korfiatis
400     Bad Request
43 2556cf45 Giorgos Korfiatis
401     Unauthorized (Missing token)
44 2556cf45 Giorgos Korfiatis
500     Internal Server Error
45 2556cf45 Giorgos Korfiatis
======  =====================
46 2556cf45 Giorgos Korfiatis
47 2556cf45 Giorgos Korfiatis
**Example Successful Response**:
48 2556cf45 Giorgos Korfiatis
49 2556cf45 Giorgos Korfiatis
List of project details. See below.
50 2556cf45 Giorgos Korfiatis
51 2556cf45 Giorgos Korfiatis
Retrieve a Project
52 2556cf45 Giorgos Korfiatis
..................
53 2556cf45 Giorgos Korfiatis
54 2556cf45 Giorgos Korfiatis
**GET** /account/v1.0/projects/<proj_id>
55 2556cf45 Giorgos Korfiatis
56 2556cf45 Giorgos Korfiatis
====================  =========================
57 2556cf45 Giorgos Korfiatis
Request Header Name   Value
58 2556cf45 Giorgos Korfiatis
====================  =========================
59 2556cf45 Giorgos Korfiatis
X-Auth-Token          User authentication token
60 2556cf45 Giorgos Korfiatis
====================  =========================
61 2556cf45 Giorgos Korfiatis
62 2556cf45 Giorgos Korfiatis
A project is accessible when the request user is admin, project owner,
63 2556cf45 Giorgos Korfiatis
applicant or member, or the project is active.
64 2556cf45 Giorgos Korfiatis
65 2556cf45 Giorgos Korfiatis
**Response Codes**:
66 2556cf45 Giorgos Korfiatis
67 2556cf45 Giorgos Korfiatis
======  ============================
68 2556cf45 Giorgos Korfiatis
Status  Description
69 2556cf45 Giorgos Korfiatis
======  ============================
70 2556cf45 Giorgos Korfiatis
200     Success
71 2556cf45 Giorgos Korfiatis
401     Unauthorized (Missing token)
72 2556cf45 Giorgos Korfiatis
403     Forbidden
73 2556cf45 Giorgos Korfiatis
404     Not Found
74 2556cf45 Giorgos Korfiatis
500     Internal Server Error
75 2556cf45 Giorgos Korfiatis
======  ============================
76 2556cf45 Giorgos Korfiatis
77 2556cf45 Giorgos Korfiatis
**Example Successful Response**:
78 2556cf45 Giorgos Korfiatis
79 2556cf45 Giorgos Korfiatis
.. code-block:: javascript
80 2556cf45 Giorgos Korfiatis
81 2556cf45 Giorgos Korfiatis
  {
82 2556cf45 Giorgos Korfiatis
      "id": proj_id,
83 0f2bd3f9 Giorgos Korfiatis
      "state": "uninitialized" | "active" | "suspended" | "terminated" | "deleted",
84 2556cf45 Giorgos Korfiatis
      "creation_date": "2013-06-26T11:48:06.579100+00:00",
85 2556cf45 Giorgos Korfiatis
      "name": "name",
86 2556cf45 Giorgos Korfiatis
      "owner": uuid,
87 0f2bd3f9 Giorgos Korfiatis
      "homepage": homepage,
88 0f2bd3f9 Giorgos Korfiatis
      "description": description,
89 2556cf45 Giorgos Korfiatis
      "end_date": date,
90 2556cf45 Giorgos Korfiatis
      "join_policy": "auto" | "moderated" | "closed",
91 2556cf45 Giorgos Korfiatis
      "leave_policy": "auto" | "moderated" | "closed",
92 e98239db Giorgos Korfiatis
      "max_members": natural number
93 0f2bd3f9 Giorgos Korfiatis
      "resources": {"cyclades.vm": {"project_capacity": int,
94 2556cf45 Giorgos Korfiatis
                                    "member_capacity": int
95 2556cf45 Giorgos Korfiatis
                                   }
96 2556cf45 Giorgos Korfiatis
                   }
97 0f2bd3f9 Giorgos Korfiatis
      "last_application": last application or null,
98 2556cf45 Giorgos Korfiatis
      "deactivation_date": date  # if applicable
99 2556cf45 Giorgos Korfiatis
  }
100 2556cf45 Giorgos Korfiatis
101 2556cf45 Giorgos Korfiatis
Create a Project
102 2556cf45 Giorgos Korfiatis
................
103 2556cf45 Giorgos Korfiatis
104 2556cf45 Giorgos Korfiatis
**POST** /account/v1.0/projects
105 2556cf45 Giorgos Korfiatis
106 2556cf45 Giorgos Korfiatis
====================  =========================
107 2556cf45 Giorgos Korfiatis
Request Header Name   Value
108 2556cf45 Giorgos Korfiatis
====================  =========================
109 2556cf45 Giorgos Korfiatis
X-Auth-Token          User authentication token
110 2556cf45 Giorgos Korfiatis
====================  =========================
111 2556cf45 Giorgos Korfiatis
112 2556cf45 Giorgos Korfiatis
**Example Request**:
113 2556cf45 Giorgos Korfiatis
114 2556cf45 Giorgos Korfiatis
.. code-block:: javascript
115 2556cf45 Giorgos Korfiatis
116 2556cf45 Giorgos Korfiatis
  {
117 2556cf45 Giorgos Korfiatis
      "name": name,
118 2556cf45 Giorgos Korfiatis
      "owner": uuid,  # if omitted, request user assumed
119 2556cf45 Giorgos Korfiatis
      "homepage": homepage,  # optional
120 2556cf45 Giorgos Korfiatis
      "description": description,  # optional
121 2556cf45 Giorgos Korfiatis
      "comments": comments,  # optional
122 2556cf45 Giorgos Korfiatis
      "start_date": date,  # optional
123 2556cf45 Giorgos Korfiatis
      "end_date": date,
124 2556cf45 Giorgos Korfiatis
      "join_policy": "auto" | "moderated" | "closed",  # default: "moderated"
125 2556cf45 Giorgos Korfiatis
      "leave_policy": "auto" | "moderated" | "closed",  # default: "auto"
126 0f2bd3f9 Giorgos Korfiatis
      "resources": {"cyclades.vm": {"project_capacity": int,
127 2556cf45 Giorgos Korfiatis
                                    "member_capacity": int
128 2556cf45 Giorgos Korfiatis
                                   }
129 2556cf45 Giorgos Korfiatis
                   }
130 2556cf45 Giorgos Korfiatis
  }
131 2556cf45 Giorgos Korfiatis
132 2556cf45 Giorgos Korfiatis
**Response Codes**:
133 2556cf45 Giorgos Korfiatis
134 2556cf45 Giorgos Korfiatis
======  ============================
135 2556cf45 Giorgos Korfiatis
Status  Description
136 2556cf45 Giorgos Korfiatis
======  ============================
137 2556cf45 Giorgos Korfiatis
201     Created
138 2556cf45 Giorgos Korfiatis
400     Bad Request
139 2556cf45 Giorgos Korfiatis
401     Unauthorized (Missing token)
140 2556cf45 Giorgos Korfiatis
403     Forbidden
141 2556cf45 Giorgos Korfiatis
409     Conflict
142 2556cf45 Giorgos Korfiatis
500     Internal Server Error
143 2556cf45 Giorgos Korfiatis
======  ============================
144 2556cf45 Giorgos Korfiatis
145 2556cf45 Giorgos Korfiatis
**Example Successful Response**:
146 2556cf45 Giorgos Korfiatis
147 2556cf45 Giorgos Korfiatis
.. code-block:: javascript
148 2556cf45 Giorgos Korfiatis
149 2556cf45 Giorgos Korfiatis
  {
150 2556cf45 Giorgos Korfiatis
      "id": project_id,
151 2556cf45 Giorgos Korfiatis
      "application": application_id
152 2556cf45 Giorgos Korfiatis
  }
153 2556cf45 Giorgos Korfiatis
154 2556cf45 Giorgos Korfiatis
155 2556cf45 Giorgos Korfiatis
Modify a Project
156 2556cf45 Giorgos Korfiatis
................
157 2556cf45 Giorgos Korfiatis
158 2556cf45 Giorgos Korfiatis
**POST** /account/v1.0/projects/<proj_id>
159 2556cf45 Giorgos Korfiatis
160 2556cf45 Giorgos Korfiatis
====================  =========================
161 2556cf45 Giorgos Korfiatis
Request Header Name   Value
162 2556cf45 Giorgos Korfiatis
====================  =========================
163 2556cf45 Giorgos Korfiatis
X-Auth-Token          User authentication token
164 2556cf45 Giorgos Korfiatis
====================  =========================
165 2556cf45 Giorgos Korfiatis
166 2556cf45 Giorgos Korfiatis
167 2556cf45 Giorgos Korfiatis
**Example Request**:
168 2556cf45 Giorgos Korfiatis
169 2556cf45 Giorgos Korfiatis
As above.
170 2556cf45 Giorgos Korfiatis
171 2556cf45 Giorgos Korfiatis
**Response Codes**:
172 2556cf45 Giorgos Korfiatis
173 2556cf45 Giorgos Korfiatis
======  ============================
174 2556cf45 Giorgos Korfiatis
Status  Description
175 2556cf45 Giorgos Korfiatis
======  ============================
176 2556cf45 Giorgos Korfiatis
201     Created
177 2556cf45 Giorgos Korfiatis
400     Bad Request
178 2556cf45 Giorgos Korfiatis
401     Unauthorized (Missing token)
179 2556cf45 Giorgos Korfiatis
403     Forbidden
180 2556cf45 Giorgos Korfiatis
404     Not Found
181 2556cf45 Giorgos Korfiatis
409     Conflict
182 2556cf45 Giorgos Korfiatis
500     Internal Server Error
183 2556cf45 Giorgos Korfiatis
======  ============================
184 2556cf45 Giorgos Korfiatis
185 2556cf45 Giorgos Korfiatis
**Example Successful Response**:
186 2556cf45 Giorgos Korfiatis
187 2556cf45 Giorgos Korfiatis
As above.
188 2556cf45 Giorgos Korfiatis
189 2556cf45 Giorgos Korfiatis
Take Action on a Project
190 2556cf45 Giorgos Korfiatis
........................
191 2556cf45 Giorgos Korfiatis
192 2556cf45 Giorgos Korfiatis
**POST** /account/v1.0/projects/<proj_id>/action
193 2556cf45 Giorgos Korfiatis
194 2556cf45 Giorgos Korfiatis
====================  =========================
195 2556cf45 Giorgos Korfiatis
Request Header Name   Value
196 2556cf45 Giorgos Korfiatis
====================  =========================
197 2556cf45 Giorgos Korfiatis
X-Auth-Token          User authentication token
198 2556cf45 Giorgos Korfiatis
====================  =========================
199 2556cf45 Giorgos Korfiatis
200 2556cf45 Giorgos Korfiatis
**Example Request**:
201 2556cf45 Giorgos Korfiatis
202 2556cf45 Giorgos Korfiatis
.. code-block:: javascript
203 2556cf45 Giorgos Korfiatis
204 2556cf45 Giorgos Korfiatis
  {
205 0f2bd3f9 Giorgos Korfiatis
      <action>: {"reason": reason,
206 0f2bd3f9 Giorgos Korfiatis
                 "app_id": app_id  # only for app related actions
207 0f2bd3f9 Giorgos Korfiatis
                }
208 2556cf45 Giorgos Korfiatis
  }
209 2556cf45 Giorgos Korfiatis
210 0f2bd3f9 Giorgos Korfiatis
<action> can be: "suspend", "unsuspend", "terminate", "reinstate",
211 0f2bd3f9 Giorgos Korfiatis
"approve", "deny", "dismiss", "cancel". The last four actions operate on the
212 0f2bd3f9 Giorgos Korfiatis
project's last application and require its ``app_id``.
213 2556cf45 Giorgos Korfiatis
214 2556cf45 Giorgos Korfiatis
**Response Codes**:
215 2556cf45 Giorgos Korfiatis
216 2556cf45 Giorgos Korfiatis
======  ============================
217 2556cf45 Giorgos Korfiatis
Status  Description
218 2556cf45 Giorgos Korfiatis
======  ============================
219 2556cf45 Giorgos Korfiatis
200     Success
220 2556cf45 Giorgos Korfiatis
400     Bad Request
221 2556cf45 Giorgos Korfiatis
401     Unauthorized (Missing token)
222 2556cf45 Giorgos Korfiatis
403     Forbidden
223 2556cf45 Giorgos Korfiatis
404     Not Found
224 2556cf45 Giorgos Korfiatis
409     Conflict
225 2556cf45 Giorgos Korfiatis
500     Internal Server Error
226 2556cf45 Giorgos Korfiatis
======  ============================
227 2556cf45 Giorgos Korfiatis
228 2556cf45 Giorgos Korfiatis
Retrieve List of Memberships
229 2556cf45 Giorgos Korfiatis
............................
230 2556cf45 Giorgos Korfiatis
231 2556cf45 Giorgos Korfiatis
**GET** /account/v1.0/projects/memberships
232 2556cf45 Giorgos Korfiatis
233 2556cf45 Giorgos Korfiatis
====================  ============================
234 2556cf45 Giorgos Korfiatis
Request Header Name   Value
235 2556cf45 Giorgos Korfiatis
====================  ============================
236 2556cf45 Giorgos Korfiatis
X-Auth-Token          User authentication token
237 2556cf45 Giorgos Korfiatis
====================  ============================
238 2556cf45 Giorgos Korfiatis
239 0f2bd3f9 Giorgos Korfiatis
Get all accessible memberships. Filtering by project is possible via the GET
240 0f2bd3f9 Giorgos Korfiatis
parameter ``project``.
241 2556cf45 Giorgos Korfiatis
242 2556cf45 Giorgos Korfiatis
**Response Codes**:
243 2556cf45 Giorgos Korfiatis
244 2556cf45 Giorgos Korfiatis
======  ============================
245 2556cf45 Giorgos Korfiatis
Status  Description
246 2556cf45 Giorgos Korfiatis
======  ============================
247 2556cf45 Giorgos Korfiatis
200     Success
248 2556cf45 Giorgos Korfiatis
400     Bad Request
249 2556cf45 Giorgos Korfiatis
401     Unauthorized (Missing token)
250 2556cf45 Giorgos Korfiatis
500     Internal Server Error
251 2556cf45 Giorgos Korfiatis
======  ============================
252 2556cf45 Giorgos Korfiatis
253 2556cf45 Giorgos Korfiatis
**Example Successful Response**
254 2556cf45 Giorgos Korfiatis
255 2556cf45 Giorgos Korfiatis
List of memberships. See below.
256 2556cf45 Giorgos Korfiatis
257 2556cf45 Giorgos Korfiatis
Retrieve a Membership
258 2556cf45 Giorgos Korfiatis
.....................
259 2556cf45 Giorgos Korfiatis
260 2556cf45 Giorgos Korfiatis
**GET** /account/v1.0/projects/memberships/<memb_id>
261 2556cf45 Giorgos Korfiatis
262 2556cf45 Giorgos Korfiatis
====================  ============================
263 2556cf45 Giorgos Korfiatis
Request Header Name   Value
264 2556cf45 Giorgos Korfiatis
====================  ============================
265 2556cf45 Giorgos Korfiatis
X-Auth-Token          User authentication token
266 2556cf45 Giorgos Korfiatis
====================  ============================
267 2556cf45 Giorgos Korfiatis
268 2556cf45 Giorgos Korfiatis
A membership is accessible if the request user is admin, project owner or
269 2556cf45 Giorgos Korfiatis
the member.
270 2556cf45 Giorgos Korfiatis
271 2556cf45 Giorgos Korfiatis
**Response Codes**:
272 2556cf45 Giorgos Korfiatis
273 2556cf45 Giorgos Korfiatis
======  ============================
274 2556cf45 Giorgos Korfiatis
Status  Description
275 2556cf45 Giorgos Korfiatis
======  ============================
276 2556cf45 Giorgos Korfiatis
200     Success
277 2556cf45 Giorgos Korfiatis
401     Unauthorized (Missing token)
278 2556cf45 Giorgos Korfiatis
403     Forbidden
279 2556cf45 Giorgos Korfiatis
404     Not Found
280 2556cf45 Giorgos Korfiatis
500     Internal Server Error
281 2556cf45 Giorgos Korfiatis
======  ============================
282 2556cf45 Giorgos Korfiatis
283 2556cf45 Giorgos Korfiatis
**Example Successful Response**
284 2556cf45 Giorgos Korfiatis
285 2556cf45 Giorgos Korfiatis
.. code-block:: javascript
286 2556cf45 Giorgos Korfiatis
287 2556cf45 Giorgos Korfiatis
  {
288 2556cf45 Giorgos Korfiatis
      "id": id,
289 2556cf45 Giorgos Korfiatis
      "user": uuid,
290 2556cf45 Giorgos Korfiatis
      "project": project_id,
291 2556cf45 Giorgos Korfiatis
      "state": "requested" | "accepted" | "leave_requested" | "suspended" | "rejected" | "cancelled" | "removed",
292 2556cf45 Giorgos Korfiatis
      "requested": last_request_date,
293 2556cf45 Giorgos Korfiatis
      "accepted": last_acceptance_date,
294 2556cf45 Giorgos Korfiatis
      "removed": last_removal_date,
295 2556cf45 Giorgos Korfiatis
      "allowed_actions": ["leave", "cancel", "accept", "reject", "remove"],
296 2556cf45 Giorgos Korfiatis
  }
297 2556cf45 Giorgos Korfiatis
298 2556cf45 Giorgos Korfiatis
Take Action on a Membership
299 2556cf45 Giorgos Korfiatis
...........................
300 2556cf45 Giorgos Korfiatis
301 2556cf45 Giorgos Korfiatis
**POST** /account/v1.0/projects/memberships/<memb_id>/action
302 2556cf45 Giorgos Korfiatis
303 2556cf45 Giorgos Korfiatis
====================  ============================
304 2556cf45 Giorgos Korfiatis
Request Header Name   Value
305 2556cf45 Giorgos Korfiatis
====================  ============================
306 2556cf45 Giorgos Korfiatis
X-Auth-Token          User authentication token
307 2556cf45 Giorgos Korfiatis
====================  ============================
308 2556cf45 Giorgos Korfiatis
309 2556cf45 Giorgos Korfiatis
**Example Request**
310 2556cf45 Giorgos Korfiatis
311 2556cf45 Giorgos Korfiatis
.. code-block:: javascript
312 2556cf45 Giorgos Korfiatis
313 2556cf45 Giorgos Korfiatis
  {
314 2556cf45 Giorgos Korfiatis
      <action>: "reason"
315 2556cf45 Giorgos Korfiatis
  }
316 2556cf45 Giorgos Korfiatis
317 2556cf45 Giorgos Korfiatis
<action> can be one of: "leave", "cancel", "accept", "reject", "remove"
318 2556cf45 Giorgos Korfiatis
319 2556cf45 Giorgos Korfiatis
**Response Codes**:
320 2556cf45 Giorgos Korfiatis
321 2556cf45 Giorgos Korfiatis
======  ============================
322 2556cf45 Giorgos Korfiatis
Status  Description
323 2556cf45 Giorgos Korfiatis
======  ============================
324 2556cf45 Giorgos Korfiatis
200     Success
325 2556cf45 Giorgos Korfiatis
400     Bad Request
326 2556cf45 Giorgos Korfiatis
401     Unauthorized (Missing token)
327 2556cf45 Giorgos Korfiatis
403     Forbidden
328 2556cf45 Giorgos Korfiatis
404     Not Found
329 2556cf45 Giorgos Korfiatis
409     Conflict
330 2556cf45 Giorgos Korfiatis
500     Internal Server Error
331 2556cf45 Giorgos Korfiatis
======  ============================
332 2556cf45 Giorgos Korfiatis
333 2556cf45 Giorgos Korfiatis
Create a Membership
334 2556cf45 Giorgos Korfiatis
...................
335 2556cf45 Giorgos Korfiatis
336 2556cf45 Giorgos Korfiatis
**POST** /account/v1.0/projects/memberships
337 2556cf45 Giorgos Korfiatis
338 2556cf45 Giorgos Korfiatis
====================  ============================
339 2556cf45 Giorgos Korfiatis
Request Header Name   Value
340 2556cf45 Giorgos Korfiatis
====================  ============================
341 2556cf45 Giorgos Korfiatis
X-Auth-Token          User authentication token
342 2556cf45 Giorgos Korfiatis
====================  ============================
343 2556cf45 Giorgos Korfiatis
344 2556cf45 Giorgos Korfiatis
**Example Requests**
345 2556cf45 Giorgos Korfiatis
346 2556cf45 Giorgos Korfiatis
.. code-block:: javascript
347 2556cf45 Giorgos Korfiatis
348 2556cf45 Giorgos Korfiatis
  {
349 2556cf45 Giorgos Korfiatis
      "join": {
350 2556cf45 Giorgos Korfiatis
          "project": proj_id
351 2556cf45 Giorgos Korfiatis
      }
352 2556cf45 Giorgos Korfiatis
  }
353 2556cf45 Giorgos Korfiatis
354 2556cf45 Giorgos Korfiatis
.. code-block:: javascript
355 2556cf45 Giorgos Korfiatis
356 2556cf45 Giorgos Korfiatis
  {
357 2556cf45 Giorgos Korfiatis
      "enroll": {
358 2556cf45 Giorgos Korfiatis
          "project": proj_id,
359 2556cf45 Giorgos Korfiatis
          "user": "user@example.org"
360 2556cf45 Giorgos Korfiatis
      }
361 2556cf45 Giorgos Korfiatis
  }
362 2556cf45 Giorgos Korfiatis
363 2556cf45 Giorgos Korfiatis
**Response Codes**:
364 2556cf45 Giorgos Korfiatis
365 2556cf45 Giorgos Korfiatis
======  ============================
366 2556cf45 Giorgos Korfiatis
Status  Description
367 2556cf45 Giorgos Korfiatis
======  ============================
368 2556cf45 Giorgos Korfiatis
200     Success
369 2556cf45 Giorgos Korfiatis
400     Bad Request
370 2556cf45 Giorgos Korfiatis
401     Unauthorized (Missing token)
371 2556cf45 Giorgos Korfiatis
403     Forbidden
372 2556cf45 Giorgos Korfiatis
409     Conflict
373 2556cf45 Giorgos Korfiatis
500     Internal Server Error
374 2556cf45 Giorgos Korfiatis
======  ============================
375 2556cf45 Giorgos Korfiatis
376 2556cf45 Giorgos Korfiatis
**Example Response**
377 2556cf45 Giorgos Korfiatis
378 2556cf45 Giorgos Korfiatis
.. code-block:: javascript
379 2556cf45 Giorgos Korfiatis
380 2556cf45 Giorgos Korfiatis
  {
381 2556cf45 Giorgos Korfiatis
      "id": membership_id
382 2556cf45 Giorgos Korfiatis
  }