root / docs / project-api-guide.rst @ d9fca80b
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 | d9fca80b | Giorgos Korfiatis | **PUT** /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 | } |