Statistics
| Branch: | Tag: | Revision:

root / docs / astakos-api-guide.rst @ 55faeced

History | View | Annotate | Download (18.8 kB)

1 5d2e61ec Sofia Papagiannaki
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 a24b5bda Sofia Papagiannaki
0.14 (June 03, 2013)       Remove endpoint listing
24 49005665 Sofia Papagiannaki
0.14 (May 28, 2013)        Extend token api with authenticate call
25 98893c32 Sofia Papagiannaki
0.14 (May 23, 2013)        Extend api to list endpoints
26 6609821f Sofia Papagiannaki
0.14 (May 14, 2013)        Do not serve user quotas in :ref:`authenticate-api-label`
27 79b5d61b Sofia Papagiannaki
0.14 (May 02, 2013)        Change URIs (keep also the old ones until the next version)
28 890c2065 Sofia Papagiannaki
0.13 (January 21, 2013)    Extend api to export user presentation & quota information.
29 6609821f Sofia Papagiannaki
0.6 (June 06, 2012)        Split service and user API.
30 8f9976c6 Constantinos Venetsanopoulos
0.1 (Feb 10, 2012)         Initial release.
31 8f9976c6 Constantinos Venetsanopoulos
=========================  ================================
32 8f9976c6 Constantinos Venetsanopoulos
33 890c2065 Sofia Papagiannaki
Get Services
34 890c2065 Sofia Papagiannaki
^^^^^^^^^^^^
35 949f8393 Sofia Papagiannaki
36 890c2065 Sofia Papagiannaki
Returns a json formatted list containing information about the supported cloud services.
37 949f8393 Sofia Papagiannaki
38 79b5d61b Sofia Papagiannaki
============================= =========  ==================
39 79b5d61b Sofia Papagiannaki
Uri                           Method     Description
40 79b5d61b Sofia Papagiannaki
============================= =========  ==================
41 6b3ec12c Sofia Papagiannaki
``/ui/get_services``          GET        Get cloud services
42 79b5d61b Sofia Papagiannaki
============================= =========  ==================
43 8f9976c6 Constantinos Venetsanopoulos
44 890c2065 Sofia Papagiannaki
Example reply:
45 8f9976c6 Constantinos Venetsanopoulos
46 890c2065 Sofia Papagiannaki
::
47 8f9976c6 Constantinos Venetsanopoulos
48 890c2065 Sofia Papagiannaki
    [{"url": "/", "icon": "home-icon.png", "name": "grnet cloud", "id": "1"},
49 890c2065 Sofia Papagiannaki
    {"url": "/okeanos.html", "name": "~okeanos", "id": "2"},
50 e5d8df8c Constantinos Venetsanopoulos
    {"url": "/ui/", "name": "pithos", "id": "3"}]
51 890c2065 Sofia Papagiannaki
52 890c2065 Sofia Papagiannaki
53 890c2065 Sofia Papagiannaki
Get Menu
54 890c2065 Sofia Papagiannaki
^^^^^^^^
55 890c2065 Sofia Papagiannaki
56 890c2065 Sofia Papagiannaki
Returns a json formatted list containing the cloud bar links.
57 8f9976c6 Constantinos Venetsanopoulos
58 79b5d61b Sofia Papagiannaki
========================= =========  ==================
59 79b5d61b Sofia Papagiannaki
Uri                       Method     Description
60 79b5d61b Sofia Papagiannaki
========================= =========  ==================
61 6b3ec12c Sofia Papagiannaki
``/ui/get_menu``          GET        Get cloud bar menu
62 79b5d61b Sofia Papagiannaki
========================= =========  ==================
63 8f9976c6 Constantinos Venetsanopoulos
64 890c2065 Sofia Papagiannaki
Example reply if request user is not authenticated:
65 8f9976c6 Constantinos Venetsanopoulos
66 890c2065 Sofia Papagiannaki
::
67 8f9976c6 Constantinos Venetsanopoulos
68 6b3ec12c Sofia Papagiannaki
    [{"url": "/ui/", "name": "Sign in"}]
69 8f9976c6 Constantinos Venetsanopoulos
70 890c2065 Sofia Papagiannaki
Example reply if request user is authenticated:
71 8f9976c6 Constantinos Venetsanopoulos
72 8f9976c6 Constantinos Venetsanopoulos
::
73 8f9976c6 Constantinos Venetsanopoulos
74 6b3ec12c Sofia Papagiannaki
    [{"url": "/ui/", "name": "user@example.com"},
75 6b3ec12c Sofia Papagiannaki
    {"url": "/ui/landing", "name": "Dashboard"},
76 6b3ec12c Sofia Papagiannaki
    {"url": "/ui/logout", "name": "Sign out"}]
77 8f9976c6 Constantinos Venetsanopoulos
78 79b5d61b Sofia Papagiannaki
79 6609821f Sofia Papagiannaki
User API Operations
80 890c2065 Sofia Papagiannaki
--------------------
81 8f9976c6 Constantinos Venetsanopoulos
82 5d2e61ec Sofia Papagiannaki
The operations described in this chapter allow users to authenticate themselves, send feedback and get user uuid/displayname mappings.
83 8f9976c6 Constantinos Venetsanopoulos
84 5d2e61ec Sofia Papagiannaki
All the operations require a valid user token.
85 949f8393 Sofia Papagiannaki
86 890c2065 Sofia Papagiannaki
.. _authenticate-api-label:
87 890c2065 Sofia Papagiannaki
88 890c2065 Sofia Papagiannaki
Authenticate
89 890c2065 Sofia Papagiannaki
^^^^^^^^^^^^
90 949f8393 Sofia Papagiannaki
91 890c2065 Sofia Papagiannaki
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`)
92 890c2065 Sofia Papagiannaki
93 7421af4a Giorgos Korfiatis
============================== =========  ==================
94 7421af4a Giorgos Korfiatis
Uri                            Method     Description
95 7421af4a Giorgos Korfiatis
============================== =========  ==================
96 7421af4a Giorgos Korfiatis
``/account/v1.0/authenticate`` GET        Authenticate user using token
97 7421af4a Giorgos Korfiatis
============================== =========  ==================
98 949f8393 Sofia Papagiannaki
99 949f8393 Sofia Papagiannaki
|
100 949f8393 Sofia Papagiannaki
101 949f8393 Sofia Papagiannaki
====================  ===========================
102 949f8393 Sofia Papagiannaki
Request Header Name   Value
103 949f8393 Sofia Papagiannaki
====================  ===========================
104 890c2065 Sofia Papagiannaki
X-Auth-Token          User authentication token
105 949f8393 Sofia Papagiannaki
====================  ===========================
106 949f8393 Sofia Papagiannaki
107 890c2065 Sofia Papagiannaki
Extended information on the user serialized in the json format will be returned:
108 949f8393 Sofia Papagiannaki
109 890c2065 Sofia Papagiannaki
===========================  ============================
110 890c2065 Sofia Papagiannaki
Name                         Description
111 890c2065 Sofia Papagiannaki
===========================  ============================
112 890c2065 Sofia Papagiannaki
displayname                     User displayname
113 890c2065 Sofia Papagiannaki
uuid                         User unique identifier
114 890c2065 Sofia Papagiannaki
email                        List with user emails
115 890c2065 Sofia Papagiannaki
name                         User full name
116 890c2065 Sofia Papagiannaki
auth_token_created           Token creation date
117 890c2065 Sofia Papagiannaki
auth_token_expires           Token expiration date
118 890c2065 Sofia Papagiannaki
usage                        List of user resource usage (if usage request parameter is present)
119 890c2065 Sofia Papagiannaki
===========================  ============================
120 949f8393 Sofia Papagiannaki
121 6609821f Sofia Papagiannaki
Example reply:
122 949f8393 Sofia Papagiannaki
123 949f8393 Sofia Papagiannaki
::
124 949f8393 Sofia Papagiannaki
125 890c2065 Sofia Papagiannaki
  {"id": "12",
126 890c2065 Sofia Papagiannaki
  "displayname": "user@example.com",
127 890c2065 Sofia Papagiannaki
  "uuid": "a9dc21d2-bcb2-4104-9a9e-402b7c70d6d8",
128 890c2065 Sofia Papagiannaki
  "email": "[user@example.com]",
129 890c2065 Sofia Papagiannaki
  "name": "Firstname Lastname",
130 890c2065 Sofia Papagiannaki
  "auth_token_created": "Wed, 30 May 2012 10:03:37 GMT",
131 890c2065 Sofia Papagiannaki
  "auth_token_expires": "Fri, 29 Jun 2012 10:03:37 GMT"}
132 949f8393 Sofia Papagiannaki
133 949f8393 Sofia Papagiannaki
|
134 949f8393 Sofia Papagiannaki
135 949f8393 Sofia Papagiannaki
=========================== =====================
136 949f8393 Sofia Papagiannaki
Return Code                 Description
137 949f8393 Sofia Papagiannaki
=========================== =====================
138 890c2065 Sofia Papagiannaki
204 (No Content)            The request succeeded
139 890c2065 Sofia Papagiannaki
400 (Bad Request)           Method not allowed or no user found
140 890c2065 Sofia Papagiannaki
401 (Unauthorized)          Missing token or inactive user or penging approval terms
141 949f8393 Sofia Papagiannaki
500 (Internal Server Error) The request cannot be completed because of an internal error
142 949f8393 Sofia Papagiannaki
=========================== =====================
143 949f8393 Sofia Papagiannaki
144 6b3ec12c Sofia Papagiannaki
.. warning:: The service is also available under ``/ui/authenticate``.
145 79b5d61b Sofia Papagiannaki
     It  will be removed in the next version.
146 79b5d61b Sofia Papagiannaki
147 949f8393 Sofia Papagiannaki
148 949f8393 Sofia Papagiannaki
Send feedback
149 949f8393 Sofia Papagiannaki
^^^^^^^^^^^^^
150 949f8393 Sofia Papagiannaki
151 5d2e61ec Sofia Papagiannaki
Post user feedback.
152 949f8393 Sofia Papagiannaki
153 7421af4a Giorgos Korfiatis
========================== =========  ==================
154 7421af4a Giorgos Korfiatis
Uri                        Method     Description
155 7421af4a Giorgos Korfiatis
========================== =========  ==================
156 7421af4a Giorgos Korfiatis
``/account/v1.0/feedback`` POST       Send feedback
157 7421af4a Giorgos Korfiatis
========================== =========  ==================
158 949f8393 Sofia Papagiannaki
159 949f8393 Sofia Papagiannaki
|
160 949f8393 Sofia Papagiannaki
161 949f8393 Sofia Papagiannaki
====================  ============================
162 949f8393 Sofia Papagiannaki
Request Header Name   Value
163 949f8393 Sofia Papagiannaki
====================  ============================
164 890c2065 Sofia Papagiannaki
X-Auth-Token          User authentication token
165 949f8393 Sofia Papagiannaki
====================  ============================
166 949f8393 Sofia Papagiannaki
167 8f9976c6 Constantinos Venetsanopoulos
|
168 8f9976c6 Constantinos Venetsanopoulos
169 8f9976c6 Constantinos Venetsanopoulos
======================  =========================
170 8f9976c6 Constantinos Venetsanopoulos
Request Parameter Name  Value
171 8f9976c6 Constantinos Venetsanopoulos
======================  =========================
172 949f8393 Sofia Papagiannaki
feedback_msg            Feedback message
173 949f8393 Sofia Papagiannaki
feedback_data           Additional information about service client status
174 8f9976c6 Constantinos Venetsanopoulos
======================  =========================
175 8f9976c6 Constantinos Venetsanopoulos
176 949f8393 Sofia Papagiannaki
|
177 949f8393 Sofia Papagiannaki
178 949f8393 Sofia Papagiannaki
=========================== =====================
179 949f8393 Sofia Papagiannaki
Return Code                 Description
180 949f8393 Sofia Papagiannaki
=========================== =====================
181 949f8393 Sofia Papagiannaki
200 (OK)                    The request succeeded
182 890c2065 Sofia Papagiannaki
502 (Bad Gateway)           Send feedback failure
183 5d2e61ec Sofia Papagiannaki
400 (Bad Request)           Method not allowed or invalid message data
184 5d2e61ec Sofia Papagiannaki
401 (Unauthorized)          Missing or expired user token
185 949f8393 Sofia Papagiannaki
500 (Internal Server Error) The request cannot be completed because of an internal error
186 949f8393 Sofia Papagiannaki
=========================== =====================
187 949f8393 Sofia Papagiannaki
188 6609821f Sofia Papagiannaki
.. warning:: The service is also available under ``/feedback``.
189 6609821f Sofia Papagiannaki
     It  will be removed in the next version.
190 6609821f Sofia Papagiannaki
191 5d2e61ec Sofia Papagiannaki
Get User catalogs
192 5d2e61ec Sofia Papagiannaki
^^^^^^^^^^^^^^^^^
193 949f8393 Sofia Papagiannaki
194 5d2e61ec Sofia Papagiannaki
Return a json formatted dictionary containing information about a specific user
195 949f8393 Sofia Papagiannaki
196 7421af4a Giorgos Korfiatis
=============================== =========  ==================
197 7421af4a Giorgos Korfiatis
Uri                             Method     Description
198 7421af4a Giorgos Korfiatis
=============================== =========  ==================
199 7421af4a Giorgos Korfiatis
``/account/v1.0/user_catalogs`` POST       Get 2 catalogs containing uuid to displayname mapping and the opposite
200 7421af4a Giorgos Korfiatis
=============================== =========  ==================
201 949f8393 Sofia Papagiannaki
202 949f8393 Sofia Papagiannaki
|
203 949f8393 Sofia Papagiannaki
204 949f8393 Sofia Papagiannaki
====================  ============================
205 949f8393 Sofia Papagiannaki
Request Header Name   Value
206 949f8393 Sofia Papagiannaki
====================  ============================
207 890c2065 Sofia Papagiannaki
X-Auth-Token          User authentication token
208 949f8393 Sofia Papagiannaki
====================  ============================
209 949f8393 Sofia Papagiannaki
210 949f8393 Sofia Papagiannaki
|
211 949f8393 Sofia Papagiannaki
212 890c2065 Sofia Papagiannaki
The request body is a json formatted dictionary containing a list with uuids and another list of displaynames to translate.
213 949f8393 Sofia Papagiannaki
214 890c2065 Sofia Papagiannaki
Example request content:
215 5d2e61ec Sofia Papagiannaki
216 5d2e61ec Sofia Papagiannaki
::
217 5d2e61ec Sofia Papagiannaki
218 5d2e61ec Sofia Papagiannaki
  {"displaynames": ["user1@example.com", "user2@example.com"],
219 5d2e61ec Sofia Papagiannaki
   "uuids":["ff53baa9-c025-4d56-a6e3-963db0438830", "a9dc21d2-bcb2-4104-9a9e-402b7c70d6d8"]}
220 5d2e61ec Sofia Papagiannaki
221 5d2e61ec Sofia Papagiannaki
Example reply:
222 5d2e61ec Sofia Papagiannaki
223 5d2e61ec Sofia Papagiannaki
::
224 5d2e61ec Sofia Papagiannaki
225 5d2e61ec Sofia Papagiannaki
  {"displayname_catalog": {"user1@example.com": "a9dc21d2-bcb2-4104-9a9e-402b7c70d6d8",
226 5d2e61ec Sofia Papagiannaki
                           "user2@example.com": "816351c7-7405-4f26-a968-6380cf47ba1f"},
227 5d2e61ec Sofia Papagiannaki
  'uuid_catalog': {"a9dc21d2-bcb2-4104-9a9e-402b7c70d6d8": "user1@example.com",
228 5d2e61ec Sofia Papagiannaki
                   "ff53baa9-c025-4d56-a6e3-963db0438830": "user2@example.com"}}
229 5d2e61ec Sofia Papagiannaki
230 5d2e61ec Sofia Papagiannaki
231 5d2e61ec Sofia Papagiannaki
|
232 5d2e61ec Sofia Papagiannaki
233 5d2e61ec Sofia Papagiannaki
=========================== =====================
234 5d2e61ec Sofia Papagiannaki
Return Code                 Description
235 5d2e61ec Sofia Papagiannaki
=========================== =====================
236 5d2e61ec Sofia Papagiannaki
200 (OK)                    The request succeeded
237 5d2e61ec Sofia Papagiannaki
400 (Bad Request)           Method not allowed or request body is not json formatted
238 5d2e61ec Sofia Papagiannaki
401 (Unauthorized)          Missing or expired or invalid user token
239 5d2e61ec Sofia Papagiannaki
500 (Internal Server Error) The request cannot be completed because of an internal error
240 5d2e61ec Sofia Papagiannaki
=========================== =====================
241 5d2e61ec Sofia Papagiannaki
242 6609821f Sofia Papagiannaki
.. warning:: The service is also available under ``/user_catalogs``.
243 6609821f Sofia Papagiannaki
     It  will be removed in the next version.
244 6609821f Sofia Papagiannaki
245 5d2e61ec Sofia Papagiannaki
Service API Operations
246 5d2e61ec Sofia Papagiannaki
----------------------
247 5d2e61ec Sofia Papagiannaki
248 5d2e61ec Sofia Papagiannaki
The operations described in this chapter allow services to get user uuid/displayname mappings.
249 5d2e61ec Sofia Papagiannaki
250 5d2e61ec Sofia Papagiannaki
All the operations require a valid service token.
251 5d2e61ec Sofia Papagiannaki
252 5d2e61ec Sofia Papagiannaki
Get User catalogs
253 5d2e61ec Sofia Papagiannaki
^^^^^^^^^^^^^^^^^
254 5d2e61ec Sofia Papagiannaki
255 5d2e61ec Sofia Papagiannaki
Return a json formatted dictionary containing information about a specific user
256 5d2e61ec Sofia Papagiannaki
257 7421af4a Giorgos Korfiatis
======================================= =========  ==================
258 7421af4a Giorgos Korfiatis
Uri                                     Method     Description
259 7421af4a Giorgos Korfiatis
======================================= =========  ==================
260 7421af4a Giorgos Korfiatis
``/account/v1.0/service/user_catalogs`` POST       Get 2 catalogs containing uuid to displayname mapping and the opposite
261 7421af4a Giorgos Korfiatis
======================================= =========  ==================
262 5d2e61ec Sofia Papagiannaki
263 5d2e61ec Sofia Papagiannaki
|
264 5d2e61ec Sofia Papagiannaki
265 5d2e61ec Sofia Papagiannaki
====================  ============================
266 5d2e61ec Sofia Papagiannaki
Request Header Name   Value
267 5d2e61ec Sofia Papagiannaki
====================  ============================
268 5d2e61ec Sofia Papagiannaki
X-Auth-Token          Service authentication token
269 5d2e61ec Sofia Papagiannaki
====================  ============================
270 5d2e61ec Sofia Papagiannaki
271 5d2e61ec Sofia Papagiannaki
|
272 5d2e61ec Sofia Papagiannaki
273 5d2e61ec Sofia Papagiannaki
The request body is a json formatted dictionary containing a list with uuids and another list of displaynames to translate.
274 19246578 Sofia Papagiannaki
If instead of list null is passed then the response contains the information for all the system users (For discretion purposes
275 19246578 Sofia Papagiannaki
this behavior is **not** exposed in the respective call of the User API).
276 5d2e61ec Sofia Papagiannaki
277 5d2e61ec Sofia Papagiannaki
Example request content:
278 8f9976c6 Constantinos Venetsanopoulos
279 8f9976c6 Constantinos Venetsanopoulos
::
280 8f9976c6 Constantinos Venetsanopoulos
281 890c2065 Sofia Papagiannaki
  {"displaynames": ["user1@example.com", "user2@example.com"],
282 890c2065 Sofia Papagiannaki
   "uuids":["ff53baa9-c025-4d56-a6e3-963db0438830", "a9dc21d2-bcb2-4104-9a9e-402b7c70d6d8"]}
283 949f8393 Sofia Papagiannaki
284 890c2065 Sofia Papagiannaki
Example reply:
285 8f9976c6 Constantinos Venetsanopoulos
286 890c2065 Sofia Papagiannaki
::
287 949f8393 Sofia Papagiannaki
288 890c2065 Sofia Papagiannaki
  {"displayname_catalog": {"user1@example.com": "a9dc21d2-bcb2-4104-9a9e-402b7c70d6d8",
289 890c2065 Sofia Papagiannaki
                           "user2@example.com": "816351c7-7405-4f26-a968-6380cf47ba1f"},
290 890c2065 Sofia Papagiannaki
  'uuid_catalog': {"a9dc21d2-bcb2-4104-9a9e-402b7c70d6d8": "user1@example.com",
291 890c2065 Sofia Papagiannaki
                   "ff53baa9-c025-4d56-a6e3-963db0438830": "user2@example.com"}}
292 8f9976c6 Constantinos Venetsanopoulos
293 8f9976c6 Constantinos Venetsanopoulos
294 949f8393 Sofia Papagiannaki
|
295 8f9976c6 Constantinos Venetsanopoulos
296 949f8393 Sofia Papagiannaki
=========================== =====================
297 949f8393 Sofia Papagiannaki
Return Code                 Description
298 949f8393 Sofia Papagiannaki
=========================== =====================
299 949f8393 Sofia Papagiannaki
200 (OK)                    The request succeeded
300 890c2065 Sofia Papagiannaki
400 (Bad Request)           Method not allowed or request body is not json formatted
301 949f8393 Sofia Papagiannaki
401 (Unauthorized)          Missing or expired or invalid service token
302 949f8393 Sofia Papagiannaki
500 (Internal Server Error) The request cannot be completed because of an internal error
303 949f8393 Sofia Papagiannaki
=========================== =====================
304 6609821f Sofia Papagiannaki
305 6609821f Sofia Papagiannaki
.. warning:: The service is also available under ``/service/api/user_catalogs``.
306 6609821f Sofia Papagiannaki
     It  will be removed in the next version.
307 98893c32 Sofia Papagiannaki
308 98893c32 Sofia Papagiannaki
Tokens API Operations
309 98893c32 Sofia Papagiannaki
----------------------
310 98893c32 Sofia Papagiannaki
311 49005665 Sofia Papagiannaki
Authenticate
312 49005665 Sofia Papagiannaki
^^^^^^^^^^^^
313 49005665 Sofia Papagiannaki
314 8cb96389 Sofia Papagiannaki
Fallback call which receives the user token or the user uuid/token pair and
315 8cb96389 Sofia Papagiannaki
returns back the token as well as information about the token holder and the
316 8cb96389 Sofia Papagiannaki
services he/she can access.
317 d29f0371 Sofia Papagiannaki
If not request body is provided (the request content length is missing or
318 d29f0371 Sofia Papagiannaki
equals to 0) the response contains only non authentication protected
319 d29f0371 Sofia Papagiannaki
information (the service catalog).
320 49005665 Sofia Papagiannaki
321 49005665 Sofia Papagiannaki
========================================= =========  ==================
322 49005665 Sofia Papagiannaki
Uri                                       Method     Description
323 49005665 Sofia Papagiannaki
========================================= =========  ==================
324 8cb96389 Sofia Papagiannaki
``/identity/v2.0/tokens/``                POST       Checks whether the provided token is valid and conforms with the provided uuid (if present) and returns back information about the user
325 49005665 Sofia Papagiannaki
========================================= =========  ==================
326 49005665 Sofia Papagiannaki
327 49005665 Sofia Papagiannaki
The input should be json formatted.
328 49005665 Sofia Papagiannaki
329 49005665 Sofia Papagiannaki
Example request:
330 49005665 Sofia Papagiannaki
331 49005665 Sofia Papagiannaki
::
332 49005665 Sofia Papagiannaki
333 49005665 Sofia Papagiannaki
    {
334 49005665 Sofia Papagiannaki
        "auth":{
335 8cb96389 Sofia Papagiannaki
            "token":{
336 26498848 Giorgos Korfiatis
                "id":"CDEe2k0T/HdiJWBMMbHyOA"
337 49005665 Sofia Papagiannaki
            },
338 49005665 Sofia Papagiannaki
            "tenantName":"c18088be-16b1-4263-8180-043c54e22903"
339 49005665 Sofia Papagiannaki
        }
340 49005665 Sofia Papagiannaki
    }
341 49005665 Sofia Papagiannaki
342 49005665 Sofia Papagiannaki
or
343 49005665 Sofia Papagiannaki
344 49005665 Sofia Papagiannaki
::
345 49005665 Sofia Papagiannaki
346 49005665 Sofia Papagiannaki
    {
347 49005665 Sofia Papagiannaki
        "auth":{
348 8cb96389 Sofia Papagiannaki
            "passwordCredentials":{
349 8cb96389 Sofia Papagiannaki
                "username":"c18088be-16b1-4263-8180-043c54e22903",
350 26498848 Giorgos Korfiatis
                "password":"CDEe2k0T/HdiJWBMMbHyOA"
351 49005665 Sofia Papagiannaki
            },
352 49005665 Sofia Papagiannaki
            "tenantName":"c18088be-16b1-4263-8180-043c54e22903"
353 49005665 Sofia Papagiannaki
        }
354 49005665 Sofia Papagiannaki
    }
355 49005665 Sofia Papagiannaki
356 49005665 Sofia Papagiannaki
357 bd93595d Sofia Papagiannaki
The tenantName in the above requests is optional.
358 bd93595d Sofia Papagiannaki
359 49005665 Sofia Papagiannaki
The response is json formatted unless it is requested otherwise via format
360 49005665 Sofia Papagiannaki
request parameter or Accept header.
361 49005665 Sofia Papagiannaki
362 49005665 Sofia Papagiannaki
Example json response:
363 49005665 Sofia Papagiannaki
364 49005665 Sofia Papagiannaki
::
365 49005665 Sofia Papagiannaki
366 8cb96389 Sofia Papagiannaki
    {"access": {
367 d29f0371 Sofia Papagiannaki
        "token": {
368 d29f0371 Sofia Papagiannaki
            "expires": "2013-06-19T15:23:59.975572+00:00",
369 d29f0371 Sofia Papagiannaki
            "id": "CDEe2k0T/HdiJWBMMbHyOA==",
370 d29f0371 Sofia Papagiannaki
            "tenant": {
371 d29f0371 Sofia Papagiannaki
                "id": "c18088be-16b1-4263-8180-043c54e22903",
372 d29f0371 Sofia Papagiannaki
                "name": "Firstname Lastname"
373 d29f0371 Sofia Papagiannaki
            }
374 d29f0371 Sofia Papagiannaki
        },
375 8cb96389 Sofia Papagiannaki
        "serviceCatalog": [
376 d29f0371 Sofia Papagiannaki
            {"endpoints_links": [],
377 d29f0371 Sofia Papagiannaki
             "endpoints": [{
378 d29f0371 Sofia Papagiannaki
                "SNF:uiURL": "https://accounts.example.synnefo.org/ui",
379 d29f0371 Sofia Papagiannaki
                "versionId": "v1.0",
380 d29f0371 Sofia Papagiannaki
                "publicURL": "https://accounts.example.synnefo.org/account/v1.0"}],
381 d29f0371 Sofia Papagiannaki
             "type": "account",
382 d29f0371 Sofia Papagiannaki
             "name": "astakos_account"},
383 d29f0371 Sofia Papagiannaki
            {"endpoints_links": [],
384 d29f0371 Sofia Papagiannaki
             "endpoints": [{
385 d29f0371 Sofia Papagiannaki
                 "SNF:uiURL": "https://accounts.example.synnefo.org/ui",
386 d29f0371 Sofia Papagiannaki
                 "versionId": "v2.0",
387 d29f0371 Sofia Papagiannaki
                 "publicURL": "https://accounts.example.synnefo.org/account/v2.0"}],
388 d29f0371 Sofia Papagiannaki
             "type": "identity",
389 d29f0371 Sofia Papagiannaki
             "name": "astakos_identity"},
390 d29f0371 Sofia Papagiannaki
            {"endpoints_links": [],
391 d29f0371 Sofia Papagiannaki
             "endpoints": [{
392 d29f0371 Sofia Papagiannaki
                 "SNF:uiURL": "https://cyclades.example.synnefo.org/ui",
393 d29f0371 Sofia Papagiannaki
                 "versionId": "v2.0",
394 d29f0371 Sofia Papagiannaki
                 "publicURL": "https://cyclades.example.synnefo.org/cyclades/compute/v2.0"}],
395 d29f0371 Sofia Papagiannaki
             "type": "compute",
396 d29f0371 Sofia Papagiannaki
             "name": "cyclades_compute"},
397 d29f0371 Sofia Papagiannaki
            {"endpoints_links": [],
398 d29f0371 Sofia Papagiannaki
             "endpoints": [{
399 d29f0371 Sofia Papagiannaki
                 "SNF:uiURL": "https://cyclades.example.synnefo.org/ui",
400 d29f0371 Sofia Papagiannaki
                 "versionId": "v1.0",
401 d29f0371 Sofia Papagiannaki
                 "publicURL": "https://cyclades.example.synnefo.org/cyclades/vmapi/v1.0"}],
402 d29f0371 Sofia Papagiannaki
             "type": "cyclades_vmapi",
403 d29f0371 Sofia Papagiannaki
             "name": "cyclades_vmapi"},
404 d29f0371 Sofia Papagiannaki
            {"endpoints_links": [],
405 d29f0371 Sofia Papagiannaki
             "endpoints": [{
406 d29f0371 Sofia Papagiannaki
                 "SNF:uiURL": "https://cyclades.example.synnefo.org/ui",
407 d29f0371 Sofia Papagiannaki
                 "versionId": "v1.0",
408 d29f0371 Sofia Papagiannaki
                 "publicURL": "https://cyclades.example.synnefo.org/cyclades/image/v1.0"}],
409 d29f0371 Sofia Papagiannaki
             "type": "image",
410 d29f0371 Sofia Papagiannaki
             "name": "cyclades_plankton"},
411 d29f0371 Sofia Papagiannaki
            {"endpoints_links": [],
412 d29f0371 Sofia Papagiannaki
             "endpoints": [{
413 d29f0371 Sofia Papagiannaki
                 "SNF:uiURL": "https://object-store.example.synnefo.org/ui",
414 d29f0371 Sofia Papagiannaki
                 "versionId": "v2.0",
415 d29f0371 Sofia Papagiannaki
                 "publicURL": "https://object-store.example.synnefo.org/pithos/public/v2.0"}],
416 d29f0371 Sofia Papagiannaki
             "type": "public",
417 d29f0371 Sofia Papagiannaki
             "name": "pithos_public"},
418 d29f0371 Sofia Papagiannaki
            {"endpoints_links": [],
419 d29f0371 Sofia Papagiannaki
             "endpoints": [{
420 d29f0371 Sofia Papagiannaki
                 "SNF:uiURL": "https://object-store.example.synnefo.org/ui",
421 d29f0371 Sofia Papagiannaki
                 "versionId": "v1",
422 d29f0371 Sofia Papagiannaki
                 "publicURL": "https://object-store.example.synnefo.org/pithos/object-store/v1"}],
423 d29f0371 Sofia Papagiannaki
             "type": "object-store",
424 06f891e8 Sofia Papagiannaki
             "name": "pithos_object-store"},
425 06f891e8 Sofia Papagiannaki
            {"endpoints_links": [],
426 06f891e8 Sofia Papagiannaki
             "endpoints": [{
427 06f891e8 Sofia Papagiannaki
                 "SNF:uiURL": "https://accounts.example.synnefo.org/ui",
428 06f891e8 Sofia Papagiannaki
                 "versionId": "",
429 7f8af0e9 Sofia Papagiannaki
                 "SNF:webloginURL": "http://localhost:8080/astakos/weblogin"
430 06f891e8 Sofia Papagiannaki
                 "publicURL": "https://accounts.example.synnefo.org/astakos/weblogin"}],
431 06f891e8 Sofia Papagiannaki
             "type": "astakos_weblogin",
432 06f891e8 Sofia Papagiannaki
             "name": "astakos_weblogin"}],
433 d29f0371 Sofia Papagiannaki
         "user": {
434 d29f0371 Sofia Papagiannaki
             "roles_links": [],
435 d29f0371 Sofia Papagiannaki
             "id": "c18088be-16b1-4263-8180-043c54e22903",
436 d29f0371 Sofia Papagiannaki
             "roles": [{"id": 1, "name": "default"}],
437 d29f0371 Sofia Papagiannaki
             "name": "Firstname Lastname"}}}
438 49005665 Sofia Papagiannaki
439 49005665 Sofia Papagiannaki
Example xml response:
440 49005665 Sofia Papagiannaki
441 49005665 Sofia Papagiannaki
::
442 49005665 Sofia Papagiannaki
443 49005665 Sofia Papagiannaki
    <?xml version="1.0" encoding="UTF-8"?>
444 8cb96389 Sofia Papagiannaki
445 49005665 Sofia Papagiannaki
    <access xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
446 49005665 Sofia Papagiannaki
        xmlns="http://docs.openstack.org/identity/api/v2.0">
447 d29f0371 Sofia Papagiannaki
        <token id="CDEe2k0T/HdiJWBMMbHyOA==" expires="2013-06-19T15:23:59.975572+00:00">
448 49005665 Sofia Papagiannaki
            <tenant id="c18088be-16b1-4263-8180-043c54e22903" name="Firstname Lastname" />
449 49005665 Sofia Papagiannaki
        </token>
450 49005665 Sofia Papagiannaki
        <user id="c18088be-16b1-4263-8180-043c54e22903" name="Firstname Lastname">
451 49005665 Sofia Papagiannaki
            <roles>
452 49005665 Sofia Papagiannaki
                    <role id="1" name="default"/>
453 49005665 Sofia Papagiannaki
            </roles>
454 49005665 Sofia Papagiannaki
        </user>
455 49005665 Sofia Papagiannaki
        <serviceCatalog>
456 d29f0371 Sofia Papagiannaki
            <service type="account" name="astakos_account">
457 d29f0371 Sofia Papagiannaki
                <endpoint  SNF:uiURL="https://accounts.example.synnefo.org/ui"  versionId="v1.0"  publicURL="https://accounts.example.synnefo.org/account/v1.0"  />
458 8cb96389 Sofia Papagiannaki
            </service>
459 d29f0371 Sofia Papagiannaki
            <service type="identity" name="astakos_identity">
460 d29f0371 Sofia Papagiannaki
                <endpoint  SNF:uiURL="https://accounts.example.synnefo.org/ui"  versionId="v2.0"  publicURL="https://accounts.example.synnefo.org/account/v2.0"  />
461 8cb96389 Sofia Papagiannaki
            </service>
462 d29f0371 Sofia Papagiannaki
            <service type="compute" name="cyclades_compute">
463 d29f0371 Sofia Papagiannaki
                <endpoint  SNF:uiURL="https://cyclades.example.synnefo.org/ui"  versionId="v2.0"  publicURL="https://cyclades.example.synnefo.org/cyclades/compute/v2.0"  />
464 8cb96389 Sofia Papagiannaki
            </service>
465 d29f0371 Sofia Papagiannaki
            <service type="cyclades_vmapi" name="cyclades_vmapi">
466 d29f0371 Sofia Papagiannaki
                <endpoint  SNF:uiURL="https://cyclades.example.synnefo.org/ui"  versionId="v1.0"  publicURL="https://cyclades.example.synnefo.org/cyclades/vmapi/v1.0"  />
467 8cb96389 Sofia Papagiannaki
            </service>
468 d29f0371 Sofia Papagiannaki
            <service type="image" name="cyclades_plankton">
469 d29f0371 Sofia Papagiannaki
                <endpoint  SNF:uiURL="https://cyclades.example.synnefo.org/ui"  versionId="v1.0"  publicURL="https://cyclades.example.synnefo.org/cyclades/image/v1.0"  />
470 49005665 Sofia Papagiannaki
            </service>
471 d29f0371 Sofia Papagiannaki
            <service type="public" name="pithos_public">
472 d29f0371 Sofia Papagiannaki
                <endpoint  SNF:uiURL="https://object-store.example.synnefo.org/ui"  versionId="v2.0"  publicURL="https://object-store.example.synnefo.org/pithos/public/v2.0"  />
473 49005665 Sofia Papagiannaki
            </service>
474 d29f0371 Sofia Papagiannaki
            <service type="object-store" name="pithos_object-store">
475 d29f0371 Sofia Papagiannaki
                <endpoint  SNF:uiURL="https://object-store.example.synnefo.org/ui"  versionId="v1"  publicURL="https://object-store.example.synnefo.org/pithos/object-store/v1"  /> </service>
476 06f891e8 Sofia Papagiannaki
            <service type="astakos_weblogin" name="astakos_weblogin">
477 7f8af0e9 Sofia Papagiannaki
                <endpoint  SNF:uiURL="htftps://accounts.example.synnefo.org/ui"  versionId=""  "SNF:webloginURL": "http://localhost:8080/astakos/weblogin"  publicURL="https://accounts.example.synnefo.org/astakos/weblogin"  />
478 49005665 Sofia Papagiannaki
        </serviceCatalog>
479 49005665 Sofia Papagiannaki
    </access>
480 49005665 Sofia Papagiannaki
481 49005665 Sofia Papagiannaki
|
482 49005665 Sofia Papagiannaki
483 49005665 Sofia Papagiannaki
=========================== =====================
484 49005665 Sofia Papagiannaki
Return Code                 Description
485 49005665 Sofia Papagiannaki
=========================== =====================
486 49005665 Sofia Papagiannaki
200 (OK)                    The request succeeded
487 11366070 Sofia Papagiannaki
400 (Bad Request)           Method not allowed or invalid request format or missing expected input or not consistent tenantName
488 49005665 Sofia Papagiannaki
401 (Unauthorized)          Invalid token or invalid creadentials or tenantName does not comply with the provided token
489 49005665 Sofia Papagiannaki
500 (Internal Server Error) The request cannot be completed because of an internal error
490 49005665 Sofia Papagiannaki
=========================== =====================