Statistics
| Branch: | Tag: | Revision:

root / docs / astakos-api-guide.rst @ 949f8393

History | View | Annotate | Download (12.7 kB)

1 8f9976c6 Constantinos Venetsanopoulos
Astakos API 
2 8f9976c6 Constantinos Venetsanopoulos
===========
3 8f9976c6 Constantinos Venetsanopoulos
4 8f9976c6 Constantinos Venetsanopoulos
This is Astakos API guide.
5 8f9976c6 Constantinos Venetsanopoulos
6 8f9976c6 Constantinos Venetsanopoulos
Overview
7 8f9976c6 Constantinos Venetsanopoulos
--------
8 8f9976c6 Constantinos Venetsanopoulos
9 8f9976c6 Constantinos Venetsanopoulos
10 53d6886e Sofia Papagiannaki
Astakos service co-ordinates the access to resources (and the subsequent
11 53d6886e Sofia Papagiannaki
permission model) and acts as the single point of registry and entry to the
12 53d6886e Sofia Papagiannaki
GRNET cloud services.
13 8f9976c6 Constantinos Venetsanopoulos
14 8f9976c6 Constantinos Venetsanopoulos
This document's goals is to describe the APIs to the outer world.
15 8f9976c6 Constantinos Venetsanopoulos
Make sure you have read the :ref:`astakos` general architecture first.
16 8f9976c6 Constantinos Venetsanopoulos
17 8f9976c6 Constantinos Venetsanopoulos
Document Revisions
18 8f9976c6 Constantinos Venetsanopoulos
^^^^^^^^^^^^^^^^^^
19 8f9976c6 Constantinos Venetsanopoulos
20 8f9976c6 Constantinos Venetsanopoulos
=========================  ================================
21 8f9976c6 Constantinos Venetsanopoulos
Revision                   Description
22 8f9976c6 Constantinos Venetsanopoulos
=========================  ================================
23 949f8393 Sofia Papagiannaki
0.6 (June 06, 2012)        Split service and admin API.
24 8f9976c6 Constantinos Venetsanopoulos
0.1 (Feb 10, 2012)         Initial release.
25 8f9976c6 Constantinos Venetsanopoulos
=========================  ================================
26 8f9976c6 Constantinos Venetsanopoulos
27 949f8393 Sofia Papagiannaki
Admin API Operations
28 949f8393 Sofia Papagiannaki
--------------------
29 949f8393 Sofia Papagiannaki
30 949f8393 Sofia Papagiannaki
The operations described in this chapter allow users to authenticate themselves and priviledged users (ex. helpdesk) to access other user information.
31 949f8393 Sofia Papagiannaki
32 949f8393 Sofia Papagiannaki
Most of the operations require a valid token assigned to users having the necessary permissions.
33 8f9976c6 Constantinos Venetsanopoulos
34 8f9976c6 Constantinos Venetsanopoulos
.. _authenticate-api-label:
35 8f9976c6 Constantinos Venetsanopoulos
36 8f9976c6 Constantinos Venetsanopoulos
Authenticate
37 8f9976c6 Constantinos Venetsanopoulos
^^^^^^^^^^^^
38 8f9976c6 Constantinos Venetsanopoulos
39 8f9976c6 Constantinos Venetsanopoulos
Authenticate API requests require a token. An application that wishes to connect to Astakos, but does not have a token, should redirect the user to ``/login``. (see :ref:`authentication-label`)
40 8f9976c6 Constantinos Venetsanopoulos
41 8f9976c6 Constantinos Venetsanopoulos
==================== =========  ==================
42 8f9976c6 Constantinos Venetsanopoulos
Uri                  Method     Description
43 8f9976c6 Constantinos Venetsanopoulos
==================== =========  ==================
44 8f9976c6 Constantinos Venetsanopoulos
``/im/authenticate`` GET        Authenticate user using token
45 8f9976c6 Constantinos Venetsanopoulos
==================== =========  ==================
46 8f9976c6 Constantinos Venetsanopoulos
47 8f9976c6 Constantinos Venetsanopoulos
|
48 8f9976c6 Constantinos Venetsanopoulos
49 8f9976c6 Constantinos Venetsanopoulos
====================  ===========================
50 8f9976c6 Constantinos Venetsanopoulos
Request Header Name   Value
51 8f9976c6 Constantinos Venetsanopoulos
====================  ===========================
52 8f9976c6 Constantinos Venetsanopoulos
X-Auth-Token          Authentication token
53 8f9976c6 Constantinos Venetsanopoulos
====================  ===========================
54 8f9976c6 Constantinos Venetsanopoulos
55 8f9976c6 Constantinos Venetsanopoulos
Extended information on the user serialized in the json format will be returned:
56 8f9976c6 Constantinos Venetsanopoulos
57 8f9976c6 Constantinos Venetsanopoulos
===========================  ============================
58 8f9976c6 Constantinos Venetsanopoulos
Name                         Description
59 8f9976c6 Constantinos Venetsanopoulos
===========================  ============================
60 8f9976c6 Constantinos Venetsanopoulos
username                     User uniq identifier
61 8f9976c6 Constantinos Venetsanopoulos
uniq                         User email (uniq identifier used by Astakos)
62 8f9976c6 Constantinos Venetsanopoulos
auth_token                   Authentication token
63 8f9976c6 Constantinos Venetsanopoulos
auth_token_expires           Token expiration date
64 8f9976c6 Constantinos Venetsanopoulos
auth_token_created           Token creation date
65 8f9976c6 Constantinos Venetsanopoulos
has_credits                  Whether user has credits
66 8f9976c6 Constantinos Venetsanopoulos
has_signed_terms             Whether user has aggred on terms
67 949f8393 Sofia Papagiannaki
groups                       User groups
68 8f9976c6 Constantinos Venetsanopoulos
===========================  ============================
69 8f9976c6 Constantinos Venetsanopoulos
70 8f9976c6 Constantinos Venetsanopoulos
Example reply:
71 8f9976c6 Constantinos Venetsanopoulos
72 8f9976c6 Constantinos Venetsanopoulos
::
73 8f9976c6 Constantinos Venetsanopoulos
74 8f9976c6 Constantinos Venetsanopoulos
  {"username": "4ad9f34d6e7a4992b34502d40f40cb",
75 949f8393 Sofia Papagiannaki
  "uniq": "user@example.com"
76 8f9976c6 Constantinos Venetsanopoulos
  "auth_token": "0000",
77 949f8393 Sofia Papagiannaki
  "auth_token_expires": "Fri, 29 Jun 2012 10:03:37 GMT",
78 949f8393 Sofia Papagiannaki
  "auth_token_created": "Wed, 30 May 2012 10:03:37 GMT",
79 8f9976c6 Constantinos Venetsanopoulos
  "has_credits": false,
80 8f9976c6 Constantinos Venetsanopoulos
  "has_signed_terms": true}
81 8f9976c6 Constantinos Venetsanopoulos
82 8f9976c6 Constantinos Venetsanopoulos
|
83 8f9976c6 Constantinos Venetsanopoulos
84 8f9976c6 Constantinos Venetsanopoulos
=========================== =====================
85 8f9976c6 Constantinos Venetsanopoulos
Return Code                 Description
86 8f9976c6 Constantinos Venetsanopoulos
=========================== =====================
87 8f9976c6 Constantinos Venetsanopoulos
204 (No Content)            The request succeeded
88 949f8393 Sofia Papagiannaki
400 (Bad Request)           Method not allowed or no user found
89 8f9976c6 Constantinos Venetsanopoulos
401 (Unauthorized)          Missing token or inactive user or penging approval terms
90 8f9976c6 Constantinos Venetsanopoulos
500 (Internal Server Error) The request cannot be completed because of an internal error
91 8f9976c6 Constantinos Venetsanopoulos
=========================== =====================
92 8f9976c6 Constantinos Venetsanopoulos
93 949f8393 Sofia Papagiannaki
Get User by email
94 949f8393 Sofia Papagiannaki
^^^^^^^^^^^^^^^^^
95 949f8393 Sofia Papagiannaki
96 949f8393 Sofia Papagiannaki
Returns a json formatted dictionary containing information about a specific user
97 949f8393 Sofia Papagiannaki
98 949f8393 Sofia Papagiannaki
============================== =========  ==================
99 949f8393 Sofia Papagiannaki
Uri                            Method     Description
100 949f8393 Sofia Papagiannaki
============================== =========  ==================
101 949f8393 Sofia Papagiannaki
``/im/admin/api/v2.0/users/``  GET        Get user information by email
102 949f8393 Sofia Papagiannaki
============================== =========  ==================
103 949f8393 Sofia Papagiannaki
104 949f8393 Sofia Papagiannaki
|
105 949f8393 Sofia Papagiannaki
106 949f8393 Sofia Papagiannaki
====================  ===========================
107 949f8393 Sofia Papagiannaki
Request Header Name   Value
108 949f8393 Sofia Papagiannaki
====================  ===========================
109 949f8393 Sofia Papagiannaki
X-Auth-Token          Authentication token owned by
110 949f8393 Sofia Papagiannaki
                      a user has or inherits ``im.can_access_userinfo`` permission
111 949f8393 Sofia Papagiannaki
====================  ===========================
112 949f8393 Sofia Papagiannaki
113 949f8393 Sofia Papagiannaki
|
114 949f8393 Sofia Papagiannaki
115 949f8393 Sofia Papagiannaki
======================  =========================
116 949f8393 Sofia Papagiannaki
Request Parameter Name  Value
117 949f8393 Sofia Papagiannaki
======================  =========================
118 949f8393 Sofia Papagiannaki
name                    Email
119 949f8393 Sofia Papagiannaki
======================  =========================
120 949f8393 Sofia Papagiannaki
121 949f8393 Sofia Papagiannaki
122 949f8393 Sofia Papagiannaki
|
123 949f8393 Sofia Papagiannaki
124 949f8393 Sofia Papagiannaki
=========================== =====================
125 949f8393 Sofia Papagiannaki
Return Code                 Description
126 949f8393 Sofia Papagiannaki
=========================== =====================
127 949f8393 Sofia Papagiannaki
200 (OK)                    The request succeeded
128 949f8393 Sofia Papagiannaki
400 (Bad Request)           Method not allowed
129 949f8393 Sofia Papagiannaki
401 (Unauthorized)          Missing or invalid token or unauthorized user
130 949f8393 Sofia Papagiannaki
404 (Not Found)             Missing email or inactive user
131 949f8393 Sofia Papagiannaki
500 (Internal Server Error) The request cannot be completed because of an internal error
132 949f8393 Sofia Papagiannaki
=========================== =====================
133 949f8393 Sofia Papagiannaki
134 949f8393 Sofia Papagiannaki
Example reply:
135 949f8393 Sofia Papagiannaki
136 949f8393 Sofia Papagiannaki
::
137 949f8393 Sofia Papagiannaki
138 949f8393 Sofia Papagiannaki
    {"username": "7e530044f90a4e7ba2cb94f3a26c40",
139 949f8393 Sofia Papagiannaki
    "auth_token_created": "Wed, 30 May 2012 10:03:37 GMT",
140 949f8393 Sofia Papagiannaki
    "name": "Firstname Surname",
141 949f8393 Sofia Papagiannaki
    "groups": ["default"],
142 949f8393 Sofia Papagiannaki
    "user_permissions": [],
143 949f8393 Sofia Papagiannaki
    "has_credits": false,
144 949f8393 Sofia Papagiannaki
    "auth_token_expires":"Fri, 29 Jun 2012 10:03:37 GMT",
145 949f8393 Sofia Papagiannaki
    "enabled": true,
146 949f8393 Sofia Papagiannaki
    "email": ["user@example.com"],
147 949f8393 Sofia Papagiannaki
    "id": 4}
148 949f8393 Sofia Papagiannaki
149 949f8393 Sofia Papagiannaki
Get User by username
150 949f8393 Sofia Papagiannaki
^^^^^^^^^^^^^^^^^^^^
151 949f8393 Sofia Papagiannaki
152 949f8393 Sofia Papagiannaki
Returns a json formatted dictionary containing information about a specific user
153 949f8393 Sofia Papagiannaki
154 949f8393 Sofia Papagiannaki
======================================== =========  ==================
155 949f8393 Sofia Papagiannaki
Uri                                      Method     Description
156 949f8393 Sofia Papagiannaki
======================================== =========  ==================
157 949f8393 Sofia Papagiannaki
``/im/admin/api/v2.0/users/{username}``  GET        Get user information by username
158 949f8393 Sofia Papagiannaki
======================================== =========  ==================
159 949f8393 Sofia Papagiannaki
160 949f8393 Sofia Papagiannaki
|
161 949f8393 Sofia Papagiannaki
162 949f8393 Sofia Papagiannaki
====================  ===========================
163 949f8393 Sofia Papagiannaki
Request Header Name   Value
164 949f8393 Sofia Papagiannaki
====================  ===========================
165 949f8393 Sofia Papagiannaki
X-Auth-Token          Authentication token owned
166 949f8393 Sofia Papagiannaki
                      by a user has or inherits ``im.can_access_userinfo`` permission
167 949f8393 Sofia Papagiannaki
====================  ===========================
168 949f8393 Sofia Papagiannaki
169 949f8393 Sofia Papagiannaki
|
170 949f8393 Sofia Papagiannaki
171 949f8393 Sofia Papagiannaki
=========================== =====================
172 949f8393 Sofia Papagiannaki
Return Code                 Description
173 949f8393 Sofia Papagiannaki
=========================== =====================
174 949f8393 Sofia Papagiannaki
200 (OK)                    The request succeeded
175 949f8393 Sofia Papagiannaki
400 (Bad Request)           Method not allowed
176 949f8393 Sofia Papagiannaki
401 (Unauthorized)          Missing or invalid token or unauthorized user
177 949f8393 Sofia Papagiannaki
404 (Not Found)             Invalid username
178 949f8393 Sofia Papagiannaki
500 (Internal Server Error) The request cannot be completed because of an internal error
179 949f8393 Sofia Papagiannaki
=========================== =====================
180 949f8393 Sofia Papagiannaki
181 949f8393 Sofia Papagiannaki
Example reply:
182 949f8393 Sofia Papagiannaki
183 949f8393 Sofia Papagiannaki
::
184 949f8393 Sofia Papagiannaki
185 949f8393 Sofia Papagiannaki
    {"username": "7e530044f90a4e7ba2cb94f3a26c40",
186 949f8393 Sofia Papagiannaki
    "auth_token_created": "Wed, 30 May 2012 10:03:37 GMT",
187 949f8393 Sofia Papagiannaki
    "name": "Firstname Surname",
188 949f8393 Sofia Papagiannaki
    "groups": ["default"],
189 949f8393 Sofia Papagiannaki
    "user_permissions": [],
190 949f8393 Sofia Papagiannaki
    "has_credits": false,
191 949f8393 Sofia Papagiannaki
    "auth_token_expires":
192 949f8393 Sofia Papagiannaki
    "Fri, 29 Jun 2012 10:03:37 GMT",
193 949f8393 Sofia Papagiannaki
    "enabled": true,
194 949f8393 Sofia Papagiannaki
    "email": ["user@example.com"],
195 949f8393 Sofia Papagiannaki
    "id": 4}
196 949f8393 Sofia Papagiannaki
197 8f9976c6 Constantinos Venetsanopoulos
Get Services
198 8f9976c6 Constantinos Venetsanopoulos
^^^^^^^^^^^^
199 8f9976c6 Constantinos Venetsanopoulos
200 8f9976c6 Constantinos Venetsanopoulos
Returns a json formatted list containing information about the supported cloud services.
201 8f9976c6 Constantinos Venetsanopoulos
202 8f9976c6 Constantinos Venetsanopoulos
==================== =========  ==================
203 8f9976c6 Constantinos Venetsanopoulos
Uri                  Method     Description
204 8f9976c6 Constantinos Venetsanopoulos
==================== =========  ==================
205 8f9976c6 Constantinos Venetsanopoulos
``/im/get_services`` GET        Get cloud services
206 8f9976c6 Constantinos Venetsanopoulos
==================== =========  ==================
207 8f9976c6 Constantinos Venetsanopoulos
208 8f9976c6 Constantinos Venetsanopoulos
Example reply:
209 8f9976c6 Constantinos Venetsanopoulos
210 8f9976c6 Constantinos Venetsanopoulos
::
211 8f9976c6 Constantinos Venetsanopoulos
212 949f8393 Sofia Papagiannaki
    [{"url": "/", "icon": "home-icon.png", "name": "grnet cloud", "id": "1"},
213 949f8393 Sofia Papagiannaki
    {"url": "/okeanos.html", "name": "~okeanos", "id": "2"},
214 949f8393 Sofia Papagiannaki
    {"url": "/ui/", "name": "pithos+", "id": "3"}]
215 949f8393 Sofia Papagiannaki
216 949f8393 Sofia Papagiannaki
217 8f9976c6 Constantinos Venetsanopoulos
Get Menu
218 8f9976c6 Constantinos Venetsanopoulos
^^^^^^^^
219 8f9976c6 Constantinos Venetsanopoulos
220 8f9976c6 Constantinos Venetsanopoulos
Returns a json formatted list containing the cloud bar links. 
221 8f9976c6 Constantinos Venetsanopoulos
222 8f9976c6 Constantinos Venetsanopoulos
==================== =========  ==================
223 8f9976c6 Constantinos Venetsanopoulos
Uri                  Method     Description
224 8f9976c6 Constantinos Venetsanopoulos
==================== =========  ==================
225 8f9976c6 Constantinos Venetsanopoulos
``/im/get_menu``     GET        Get cloud bar menu
226 8f9976c6 Constantinos Venetsanopoulos
==================== =========  ==================
227 8f9976c6 Constantinos Venetsanopoulos
228 949f8393 Sofia Papagiannaki
Example reply if request user is not authenticated:
229 949f8393 Sofia Papagiannaki
230 949f8393 Sofia Papagiannaki
::
231 949f8393 Sofia Papagiannaki
232 949f8393 Sofia Papagiannaki
    [{"url": "/im/", "name": "Sign in"}]
233 949f8393 Sofia Papagiannaki
234 949f8393 Sofia Papagiannaki
Example reply if request user is authenticated:
235 949f8393 Sofia Papagiannaki
236 949f8393 Sofia Papagiannaki
::
237 949f8393 Sofia Papagiannaki
238 949f8393 Sofia Papagiannaki
    [{"url": "/im/login", "name": "user@example.com"},
239 949f8393 Sofia Papagiannaki
    {"url": "/im/profile", "name": "My account"},
240 949f8393 Sofia Papagiannaki
    {"url": "/im/logout", "name": "Sign out"}]
241 949f8393 Sofia Papagiannaki
242 949f8393 Sofia Papagiannaki
Service API Operations
243 949f8393 Sofia Papagiannaki
----------------------
244 949f8393 Sofia Papagiannaki
245 949f8393 Sofia Papagiannaki
The operations described in this chapter allow services to access user information and perform specific tasks.
246 949f8393 Sofia Papagiannaki
247 949f8393 Sofia Papagiannaki
The operations require a valid service token.
248 949f8393 Sofia Papagiannaki
249 949f8393 Sofia Papagiannaki
Send feedback
250 949f8393 Sofia Papagiannaki
^^^^^^^^^^^^^
251 949f8393 Sofia Papagiannaki
252 949f8393 Sofia Papagiannaki
Via this operaton services can post user feedback requests.
253 949f8393 Sofia Papagiannaki
254 949f8393 Sofia Papagiannaki
========================= =========  ==================
255 949f8393 Sofia Papagiannaki
Uri                       Method     Description
256 949f8393 Sofia Papagiannaki
========================= =========  ==================
257 949f8393 Sofia Papagiannaki
``/im/service/feedback``  POST       Send feedback
258 949f8393 Sofia Papagiannaki
========================= =========  ==================
259 949f8393 Sofia Papagiannaki
260 949f8393 Sofia Papagiannaki
|
261 949f8393 Sofia Papagiannaki
262 949f8393 Sofia Papagiannaki
====================  ============================
263 949f8393 Sofia Papagiannaki
Request Header Name   Value
264 949f8393 Sofia Papagiannaki
====================  ============================
265 949f8393 Sofia Papagiannaki
X-Auth-Token          Service Authentication token
266 949f8393 Sofia Papagiannaki
====================  ============================
267 949f8393 Sofia Papagiannaki
268 8f9976c6 Constantinos Venetsanopoulos
|
269 8f9976c6 Constantinos Venetsanopoulos
270 8f9976c6 Constantinos Venetsanopoulos
======================  =========================
271 8f9976c6 Constantinos Venetsanopoulos
Request Parameter Name  Value
272 8f9976c6 Constantinos Venetsanopoulos
======================  =========================
273 949f8393 Sofia Papagiannaki
auth_token              User token
274 949f8393 Sofia Papagiannaki
feedback_msg            Feedback message
275 949f8393 Sofia Papagiannaki
feedback_data           Additional information about service client status
276 8f9976c6 Constantinos Venetsanopoulos
======================  =========================
277 8f9976c6 Constantinos Venetsanopoulos
278 949f8393 Sofia Papagiannaki
|
279 949f8393 Sofia Papagiannaki
280 949f8393 Sofia Papagiannaki
=========================== =====================
281 949f8393 Sofia Papagiannaki
Return Code                 Description
282 949f8393 Sofia Papagiannaki
=========================== =====================
283 949f8393 Sofia Papagiannaki
200 (OK)                    The request succeeded
284 949f8393 Sofia Papagiannaki
400 (Bad Request)           Method not allowed or missing or invalid user token parameter or invalid message data
285 949f8393 Sofia Papagiannaki
401 (Unauthorized)          Missing or expired service token
286 949f8393 Sofia Papagiannaki
500 (Internal Server Error) The request cannot be completed because of an internal error
287 949f8393 Sofia Papagiannaki
=========================== =====================
288 949f8393 Sofia Papagiannaki
289 949f8393 Sofia Papagiannaki
Get User by email
290 949f8393 Sofia Papagiannaki
^^^^^^^^^^^^^^^^^
291 949f8393 Sofia Papagiannaki
292 949f8393 Sofia Papagiannaki
Returns a json formatted dictionary containing information about a specific user
293 949f8393 Sofia Papagiannaki
294 949f8393 Sofia Papagiannaki
================================ =========  ==================
295 949f8393 Sofia Papagiannaki
Uri                              Method     Description
296 949f8393 Sofia Papagiannaki
================================ =========  ==================
297 949f8393 Sofia Papagiannaki
``/im/service/api/v2.0/users/``  GET        Get user information by email
298 949f8393 Sofia Papagiannaki
================================ =========  ==================
299 949f8393 Sofia Papagiannaki
300 949f8393 Sofia Papagiannaki
|
301 949f8393 Sofia Papagiannaki
302 949f8393 Sofia Papagiannaki
====================  ============================
303 949f8393 Sofia Papagiannaki
Request Header Name   Value
304 949f8393 Sofia Papagiannaki
====================  ============================
305 949f8393 Sofia Papagiannaki
X-Auth-Token          Service Authentication token
306 949f8393 Sofia Papagiannaki
====================  ============================
307 949f8393 Sofia Papagiannaki
308 949f8393 Sofia Papagiannaki
|
309 949f8393 Sofia Papagiannaki
310 949f8393 Sofia Papagiannaki
======================  =========================
311 949f8393 Sofia Papagiannaki
Request Parameter Name  Value
312 949f8393 Sofia Papagiannaki
======================  =========================
313 949f8393 Sofia Papagiannaki
name                    Email
314 949f8393 Sofia Papagiannaki
======================  =========================
315 949f8393 Sofia Papagiannaki
316 949f8393 Sofia Papagiannaki
|
317 949f8393 Sofia Papagiannaki
318 949f8393 Sofia Papagiannaki
=========================== =====================
319 949f8393 Sofia Papagiannaki
Return Code                 Description
320 949f8393 Sofia Papagiannaki
=========================== =====================
321 949f8393 Sofia Papagiannaki
200 (OK)                    The request succeeded
322 949f8393 Sofia Papagiannaki
400 (Bad Request)           Method not allowed
323 949f8393 Sofia Papagiannaki
401 (Unauthorized)          Missing or expired or invalid service token
324 949f8393 Sofia Papagiannaki
404 (Not Found)             Missing email or inactive user
325 949f8393 Sofia Papagiannaki
500 (Internal Server Error) The request cannot be completed because of an internal error
326 949f8393 Sofia Papagiannaki
=========================== =====================
327 949f8393 Sofia Papagiannaki
328 949f8393 Sofia Papagiannaki
Example reply:
329 8f9976c6 Constantinos Venetsanopoulos
330 8f9976c6 Constantinos Venetsanopoulos
::
331 8f9976c6 Constantinos Venetsanopoulos
332 949f8393 Sofia Papagiannaki
    {"username": "7e530044f90a4e7ba2cb94f3a26c40",
333 949f8393 Sofia Papagiannaki
    "auth_token_created": "Wed, 30 May 2012 10:03:37 GMT",
334 949f8393 Sofia Papagiannaki
    "name": "Firstname Surname",
335 949f8393 Sofia Papagiannaki
    "groups": ["default"],
336 949f8393 Sofia Papagiannaki
    "user_permissions": [],
337 949f8393 Sofia Papagiannaki
    "has_credits": false,
338 949f8393 Sofia Papagiannaki
    "auth_token_expires":"Fri, 29 Jun 2012 10:03:37 GMT",
339 949f8393 Sofia Papagiannaki
    "enabled": true,
340 949f8393 Sofia Papagiannaki
    "email": ["user@example.com"],
341 949f8393 Sofia Papagiannaki
    "id": 4}
342 949f8393 Sofia Papagiannaki
343 949f8393 Sofia Papagiannaki
Get User by username
344 949f8393 Sofia Papagiannaki
^^^^^^^^^^^^^^^^^^^^
345 8f9976c6 Constantinos Venetsanopoulos
346 949f8393 Sofia Papagiannaki
Returns a json formatted dictionary containing information about a specific user
347 8f9976c6 Constantinos Venetsanopoulos
348 949f8393 Sofia Papagiannaki
========================================== =========  ==================
349 949f8393 Sofia Papagiannaki
Uri                                        Method     Description
350 949f8393 Sofia Papagiannaki
========================================== =========  ==================
351 949f8393 Sofia Papagiannaki
``/im/service/api/v2.0/users/{username}``  GET        Get user information by username
352 949f8393 Sofia Papagiannaki
========================================== =========  ==================
353 949f8393 Sofia Papagiannaki
354 949f8393 Sofia Papagiannaki
|
355 8f9976c6 Constantinos Venetsanopoulos
356 949f8393 Sofia Papagiannaki
====================  ============================
357 949f8393 Sofia Papagiannaki
Request Header Name   Value
358 949f8393 Sofia Papagiannaki
====================  ============================
359 949f8393 Sofia Papagiannaki
X-Auth-Token          Service Authentication token
360 949f8393 Sofia Papagiannaki
====================  ============================
361 8f9976c6 Constantinos Venetsanopoulos
362 949f8393 Sofia Papagiannaki
|
363 8f9976c6 Constantinos Venetsanopoulos
364 949f8393 Sofia Papagiannaki
=========================== =====================
365 949f8393 Sofia Papagiannaki
Return Code                 Description
366 949f8393 Sofia Papagiannaki
=========================== =====================
367 949f8393 Sofia Papagiannaki
200 (OK)                    The request succeeded
368 949f8393 Sofia Papagiannaki
400 (Bad Request)           Method not allowed
369 949f8393 Sofia Papagiannaki
401 (Unauthorized)          Missing or expired or invalid service token
370 949f8393 Sofia Papagiannaki
404 (Not Found)             Invalid username
371 949f8393 Sofia Papagiannaki
500 (Internal Server Error) The request cannot be completed because of an internal error
372 949f8393 Sofia Papagiannaki
=========================== =====================
373 949f8393 Sofia Papagiannaki
374 949f8393 Sofia Papagiannaki
Example reply:
375 949f8393 Sofia Papagiannaki
376 949f8393 Sofia Papagiannaki
::
377 8f9976c6 Constantinos Venetsanopoulos
378 949f8393 Sofia Papagiannaki
    {"username": "7e530044f90a4e7ba2cb94f3a26c40",
379 949f8393 Sofia Papagiannaki
    "auth_token_created": "Wed, 30 May 2012 10:03:37 GMT",
380 949f8393 Sofia Papagiannaki
    "name": "Firstname Surname",
381 949f8393 Sofia Papagiannaki
    "groups": ["default"],
382 949f8393 Sofia Papagiannaki
    "user_permissions": [],
383 949f8393 Sofia Papagiannaki
    "has_credits": false,
384 949f8393 Sofia Papagiannaki
    "auth_token_expires":
385 949f8393 Sofia Papagiannaki
    "Fri, 29 Jun 2012 10:03:37 GMT",
386 949f8393 Sofia Papagiannaki
    "enabled": true,
387 949f8393 Sofia Papagiannaki
    "email": ["user@example.com"],
388 949f8393 Sofia Papagiannaki
    "id": 4}