Statistics
| Branch: | Tag: | Revision:

root / docs / astakos-api-guide.rst @ 445b3691

History | View | Annotate | Download (17.1 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 49005665 Sofia Papagiannaki
318 49005665 Sofia Papagiannaki
========================================= =========  ==================
319 49005665 Sofia Papagiannaki
Uri                                       Method     Description
320 49005665 Sofia Papagiannaki
========================================= =========  ==================
321 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
322 49005665 Sofia Papagiannaki
========================================= =========  ==================
323 49005665 Sofia Papagiannaki
324 49005665 Sofia Papagiannaki
The input should be json formatted.
325 49005665 Sofia Papagiannaki
326 49005665 Sofia Papagiannaki
Example request:
327 49005665 Sofia Papagiannaki
328 49005665 Sofia Papagiannaki
::
329 49005665 Sofia Papagiannaki
330 49005665 Sofia Papagiannaki
    {
331 49005665 Sofia Papagiannaki
        "auth":{
332 8cb96389 Sofia Papagiannaki
            "token":{
333 8cb96389 Sofia Papagiannaki
                "id":"CDEe2k0T/HdiJWBMMbHyOA=="
334 49005665 Sofia Papagiannaki
            },
335 49005665 Sofia Papagiannaki
            "tenantName":"c18088be-16b1-4263-8180-043c54e22903"
336 49005665 Sofia Papagiannaki
        }
337 49005665 Sofia Papagiannaki
    }
338 49005665 Sofia Papagiannaki
339 49005665 Sofia Papagiannaki
or
340 49005665 Sofia Papagiannaki
341 49005665 Sofia Papagiannaki
::
342 49005665 Sofia Papagiannaki
343 49005665 Sofia Papagiannaki
    {
344 49005665 Sofia Papagiannaki
        "auth":{
345 8cb96389 Sofia Papagiannaki
            "passwordCredentials":{
346 8cb96389 Sofia Papagiannaki
                "username":"c18088be-16b1-4263-8180-043c54e22903",
347 8cb96389 Sofia Papagiannaki
                "password":"CDEe2k0T/HdiJWBMMbHyOA=="
348 49005665 Sofia Papagiannaki
            },
349 49005665 Sofia Papagiannaki
            "tenantName":"c18088be-16b1-4263-8180-043c54e22903"
350 49005665 Sofia Papagiannaki
        }
351 49005665 Sofia Papagiannaki
    }
352 49005665 Sofia Papagiannaki
353 49005665 Sofia Papagiannaki
354 bd93595d Sofia Papagiannaki
The tenantName in the above requests is optional.
355 bd93595d Sofia Papagiannaki
356 49005665 Sofia Papagiannaki
The response is json formatted unless it is requested otherwise via format
357 49005665 Sofia Papagiannaki
request parameter or Accept header.
358 49005665 Sofia Papagiannaki
359 49005665 Sofia Papagiannaki
Example json response:
360 49005665 Sofia Papagiannaki
361 49005665 Sofia Papagiannaki
::
362 49005665 Sofia Papagiannaki
363 8cb96389 Sofia Papagiannaki
    {"access": {
364 8cb96389 Sofia Papagiannaki
        "serviceCatalog": [
365 8cb96389 Sofia Papagiannaki
           {"SNF:uiURL": "https://node2.example.com/ui/",
366 8cb96389 Sofia Papagiannaki
            "endpoints": [{
367 8cb96389 Sofia Papagiannaki
                "publicURL": "https://object-store.example.synnefo.org/pithos/public/v2.0",
368 8cb96389 Sofia Papagiannaki
                "versionId": "v2.0"}],
369 8cb96389 Sofia Papagiannaki
            "endpoints_links": [],
370 8cb96389 Sofia Papagiannaki
            "name": "pithos_public",
371 8cb96389 Sofia Papagiannaki
            "type": "public"},
372 8cb96389 Sofia Papagiannaki
           {"SNF:uiURL": "https://node2.example.com/ui/",
373 8cb96389 Sofia Papagiannaki
            "endpoints": [{
374 8cb96389 Sofia Papagiannaki
                "publicURL": "https://object-store.example.synnefo.org/pithos/object-store/v1",
375 8cb96389 Sofia Papagiannaki
                "versionId": "v1"}],
376 8cb96389 Sofia Papagiannaki
            "endpoints_links": [],
377 8cb96389 Sofia Papagiannaki
            "name": "pithos_object-store",
378 8cb96389 Sofia Papagiannaki
            "type": "object-store"},
379 8cb96389 Sofia Papagiannaki
           {"SNF:uiURL": "https://node2.example.com/ui/",
380 8cb96389 Sofia Papagiannaki
            "endpoints": [{
381 8cb96389 Sofia Papagiannaki
                "publicURL": "https://object-store.example.synnefo.org/pithos/ui",
382 8cb96389 Sofia Papagiannaki
                "versionId": ""}],
383 8cb96389 Sofia Papagiannaki
            "endpoints_links": [],
384 8cb96389 Sofia Papagiannaki
            "name": "pithos_ui",
385 8cb96389 Sofia Papagiannaki
            "type": "pithos_ui"},
386 8cb96389 Sofia Papagiannaki
           {"SNF:uiURL": "http://localhost:8080",
387 8cb96389 Sofia Papagiannaki
            "endpoints": [{
388 8cb96389 Sofia Papagiannaki
                "publicURL": "https://accounts.example.synnefo.org/ui/v1.0",
389 8cb96389 Sofia Papagiannaki
                "versionId": "v1.0"}],
390 8cb96389 Sofia Papagiannaki
            "endpoints_links": [],
391 8cb96389 Sofia Papagiannaki
            "name": "astakos_ui",
392 8cb96389 Sofia Papagiannaki
            "type": "astakos_ui"},
393 8cb96389 Sofia Papagiannaki
           {"SNF:uiURL": "http://localhost:8080",
394 8cb96389 Sofia Papagiannaki
            "endpoints": [{
395 8cb96389 Sofia Papagiannaki
                "publicURL": "https://accounts.example.synnefo.org/account/v1.0",
396 8cb96389 Sofia Papagiannaki
                "versionId": "v1.0"}],
397 8cb96389 Sofia Papagiannaki
            "endpoints_links": [],
398 8cb96389 Sofia Papagiannaki
            "name": "astakos_account",
399 8cb96389 Sofia Papagiannaki
            "type": "account"},
400 8cb96389 Sofia Papagiannaki
           {"SNF:uiURL": "http://localhost:8080",
401 8cb96389 Sofia Papagiannaki
            "endpoints": [{
402 8cb96389 Sofia Papagiannaki
                "publicURL": "https://accounts.example.synnefo.org/identity/v2.0",
403 8cb96389 Sofia Papagiannaki
                "versionId": "v2.0"}],
404 8cb96389 Sofia Papagiannaki
            "endpoints_links": [],
405 923e6582 Georgios D. Tsoukalas
            "name": "astakos_identity",
406 8cb96389 Sofia Papagiannaki
            "type": "identity"}],
407 8cb96389 Sofia Papagiannaki
      "token": {
408 8cb96389 Sofia Papagiannaki
          "expires": "2013-06-19T15:23:59.975572+00:00",
409 8cb96389 Sofia Papagiannaki
           "id": "CDEe2k0T/HdiJWBMMbHyOA==",
410 8cb96389 Sofia Papagiannaki
           "tenant": {"id": "c18088be-16b1-4263-8180-043c54e22903",
411 8cb96389 Sofia Papagiannaki
            "name": "Firstname Lastname"}},
412 8cb96389 Sofia Papagiannaki
      "user": {
413 8cb96389 Sofia Papagiannaki
          "id": "c18088be-16b1-4263-8180-043c54e22903",
414 8cb96389 Sofia Papagiannaki
           "name": "Firstname Lastname",
415 8cb96389 Sofia Papagiannaki
           "roles": [{"id": 1, "name": "default"},
416 8cb96389 Sofia Papagiannaki
           "roles_links": []}}}
417 49005665 Sofia Papagiannaki
418 49005665 Sofia Papagiannaki
Example xml response:
419 49005665 Sofia Papagiannaki
420 49005665 Sofia Papagiannaki
::
421 49005665 Sofia Papagiannaki
422 49005665 Sofia Papagiannaki
    <?xml version="1.0" encoding="UTF-8"?>
423 8cb96389 Sofia Papagiannaki
424 49005665 Sofia Papagiannaki
    <access xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
425 49005665 Sofia Papagiannaki
        xmlns="http://docs.openstack.org/identity/api/v2.0">
426 49005665 Sofia Papagiannaki
        <token id="CDEe2k0T/HdiJWBMMbHyOA==" expires="2013-06-19T15:23:59.975572+00:00">
427 49005665 Sofia Papagiannaki
            <tenant id="c18088be-16b1-4263-8180-043c54e22903" name="Firstname Lastname" />
428 49005665 Sofia Papagiannaki
        </token>
429 49005665 Sofia Papagiannaki
        <user id="c18088be-16b1-4263-8180-043c54e22903" name="Firstname Lastname">
430 49005665 Sofia Papagiannaki
            <roles>
431 49005665 Sofia Papagiannaki
                    <role id="1" name="default"/>
432 49005665 Sofia Papagiannaki
            </roles>
433 49005665 Sofia Papagiannaki
        </user>
434 49005665 Sofia Papagiannaki
        <serviceCatalog>
435 8cb96389 Sofia Papagiannaki
            <service type="public" name="pithos_public" SNF:uiURL="">
436 8cb96389 Sofia Papagiannaki
                    <endpoint
437 8cb96389 Sofia Papagiannaki
                            versionId="v2.0"
438 8cb96389 Sofia Papagiannaki
                            publicURL="https://object-store.example.synnefo.org/pithos/public/v2.0"
439 8cb96389 Sofia Papagiannaki
            </service>
440 8cb96389 Sofia Papagiannaki
            <service type="object-store" name="pithos_object-store" SNF:uiURL="">
441 8cb96389 Sofia Papagiannaki
                    <endpoint
442 8cb96389 Sofia Papagiannaki
                            versionId="v1"
443 8cb96389 Sofia Papagiannaki
                            publicURL="https://object-store.example.synnefo.org/pithos/object-store/v1"
444 8cb96389 Sofia Papagiannaki
            </service>
445 8cb96389 Sofia Papagiannaki
            <service type="pithos_ui" name="pithos_ui" SNF:uiURL="">
446 8cb96389 Sofia Papagiannaki
                    <endpoint
447 8cb96389 Sofia Papagiannaki
                            versionId=""
448 8cb96389 Sofia Papagiannaki
                            publicURL="https://object-store.example.synnefo.org/pithos/ui"
449 8cb96389 Sofia Papagiannaki
            </service>
450 8cb96389 Sofia Papagiannaki
            <service type="astakos_ui" name="astakos_ui" SNF:uiURL="">
451 8cb96389 Sofia Papagiannaki
                    <endpoint
452 8cb96389 Sofia Papagiannaki
                            versionId="v1.0"
453 8cb96389 Sofia Papagiannaki
                            publicURL="https://accounts.example.synnefo.org/ui/v1.0"
454 8cb96389 Sofia Papagiannaki
            </service>
455 8cb96389 Sofia Papagiannaki
            <service type="account" name="astakos_account" SNF:uiURL="">
456 8cb96389 Sofia Papagiannaki
                    <endpoint
457 8cb96389 Sofia Papagiannaki
                            versionId="v1.0"
458 8cb96389 Sofia Papagiannaki
                            publicURL="https://accounts.example.synnefo.org/account/v1.0"
459 49005665 Sofia Papagiannaki
            </service>
460 923e6582 Georgios D. Tsoukalas
            <service type="identity" name="astakos_identity" SNF:uiURL="">
461 8cb96389 Sofia Papagiannaki
                    <endpoint
462 8cb96389 Sofia Papagiannaki
                            versionId="v2.0"
463 8cb96389 Sofia Papagiannaki
                            publicURL="https://accounts.example.synnefo.org/identity/v2.0"
464 49005665 Sofia Papagiannaki
            </service>
465 49005665 Sofia Papagiannaki
        </serviceCatalog>
466 49005665 Sofia Papagiannaki
    </access>
467 49005665 Sofia Papagiannaki
468 49005665 Sofia Papagiannaki
|
469 49005665 Sofia Papagiannaki
470 49005665 Sofia Papagiannaki
=========================== =====================
471 49005665 Sofia Papagiannaki
Return Code                 Description
472 49005665 Sofia Papagiannaki
=========================== =====================
473 49005665 Sofia Papagiannaki
200 (OK)                    The request succeeded
474 49005665 Sofia Papagiannaki
400 (Bad Request)           Method not allowed or invalid request format or missing expected input
475 49005665 Sofia Papagiannaki
401 (Unauthorized)          Invalid token or invalid creadentials or tenantName does not comply with the provided token
476 49005665 Sofia Papagiannaki
500 (Internal Server Error) The request cannot be completed because of an internal error
477 49005665 Sofia Papagiannaki
=========================== =====================