1{
2  "version":"2.0",
3  "metadata":{
4    "apiVersion":"2019-06-10",
5    "endpointPrefix":"oidc",
6    "jsonVersion":"1.1",
7    "protocol":"rest-json",
8    "serviceAbbreviation":"SSO OIDC",
9    "serviceFullName":"AWS SSO OIDC",
10    "serviceId":"SSO OIDC",
11    "signatureVersion":"v4",
12    "signingName":"awsssooidc",
13    "uid":"sso-oidc-2019-06-10"
14  },
15  "operations":{
16    "CreateToken":{
17      "name":"CreateToken",
18      "http":{
19        "method":"POST",
20        "requestUri":"/token"
21      },
22      "input":{"shape":"CreateTokenRequest"},
23      "output":{"shape":"CreateTokenResponse"},
24      "errors":[
25        {"shape":"InvalidRequestException"},
26        {"shape":"InvalidClientException"},
27        {"shape":"InvalidGrantException"},
28        {"shape":"UnauthorizedClientException"},
29        {"shape":"UnsupportedGrantTypeException"},
30        {"shape":"InvalidScopeException"},
31        {"shape":"AuthorizationPendingException"},
32        {"shape":"SlowDownException"},
33        {"shape":"AccessDeniedException"},
34        {"shape":"ExpiredTokenException"},
35        {"shape":"InternalServerException"}
36      ],
37      "authtype":"none"
38    },
39    "RegisterClient":{
40      "name":"RegisterClient",
41      "http":{
42        "method":"POST",
43        "requestUri":"/client/register"
44      },
45      "input":{"shape":"RegisterClientRequest"},
46      "output":{"shape":"RegisterClientResponse"},
47      "errors":[
48        {"shape":"InvalidRequestException"},
49        {"shape":"InvalidScopeException"},
50        {"shape":"InvalidClientMetadataException"},
51        {"shape":"InternalServerException"}
52      ],
53      "authtype":"none"
54    },
55    "StartDeviceAuthorization":{
56      "name":"StartDeviceAuthorization",
57      "http":{
58        "method":"POST",
59        "requestUri":"/device_authorization"
60      },
61      "input":{"shape":"StartDeviceAuthorizationRequest"},
62      "output":{"shape":"StartDeviceAuthorizationResponse"},
63      "errors":[
64        {"shape":"InvalidRequestException"},
65        {"shape":"InvalidClientException"},
66        {"shape":"UnauthorizedClientException"},
67        {"shape":"SlowDownException"},
68        {"shape":"InternalServerException"}
69      ],
70      "authtype":"none"
71    }
72  },
73  "shapes":{
74    "AccessDeniedException":{
75      "type":"structure",
76      "members":{
77        "error":{"shape":"Error"},
78        "error_description":{"shape":"ErrorDescription"}
79      },
80      "error":{"httpStatusCode":400},
81      "exception":true
82    },
83    "AccessToken":{"type":"string"},
84    "AuthCode":{"type":"string"},
85    "AuthorizationPendingException":{
86      "type":"structure",
87      "members":{
88        "error":{"shape":"Error"},
89        "error_description":{"shape":"ErrorDescription"}
90      },
91      "error":{"httpStatusCode":400},
92      "exception":true
93    },
94    "ClientId":{"type":"string"},
95    "ClientName":{"type":"string"},
96    "ClientSecret":{"type":"string"},
97    "ClientType":{"type":"string"},
98    "CreateTokenRequest":{
99      "type":"structure",
100      "required":[
101        "clientId",
102        "clientSecret",
103        "grantType",
104        "deviceCode"
105      ],
106      "members":{
107        "clientId":{"shape":"ClientId"},
108        "clientSecret":{"shape":"ClientSecret"},
109        "grantType":{"shape":"GrantType"},
110        "deviceCode":{"shape":"DeviceCode"},
111        "code":{"shape":"AuthCode"},
112        "refreshToken":{"shape":"RefreshToken"},
113        "scope":{"shape":"Scopes"},
114        "redirectUri":{"shape":"URI"}
115      }
116    },
117    "CreateTokenResponse":{
118      "type":"structure",
119      "members":{
120        "accessToken":{"shape":"AccessToken"},
121        "tokenType":{"shape":"TokenType"},
122        "expiresIn":{"shape":"ExpirationInSeconds"},
123        "refreshToken":{"shape":"RefreshToken"},
124        "idToken":{"shape":"IdToken"}
125      }
126    },
127    "DeviceCode":{"type":"string"},
128    "Error":{"type":"string"},
129    "ErrorDescription":{"type":"string"},
130    "ExpirationInSeconds":{"type":"integer"},
131    "ExpiredTokenException":{
132      "type":"structure",
133      "members":{
134        "error":{"shape":"Error"},
135        "error_description":{"shape":"ErrorDescription"}
136      },
137      "error":{"httpStatusCode":400},
138      "exception":true
139    },
140    "GrantType":{"type":"string"},
141    "IdToken":{"type":"string"},
142    "InternalServerException":{
143      "type":"structure",
144      "members":{
145        "error":{"shape":"Error"},
146        "error_description":{"shape":"ErrorDescription"}
147      },
148      "error":{"httpStatusCode":500},
149      "exception":true,
150      "fault":true
151    },
152    "IntervalInSeconds":{"type":"integer"},
153    "InvalidClientException":{
154      "type":"structure",
155      "members":{
156        "error":{"shape":"Error"},
157        "error_description":{"shape":"ErrorDescription"}
158      },
159      "error":{"httpStatusCode":401},
160      "exception":true
161    },
162    "InvalidClientMetadataException":{
163      "type":"structure",
164      "members":{
165        "error":{"shape":"Error"},
166        "error_description":{"shape":"ErrorDescription"}
167      },
168      "error":{"httpStatusCode":400},
169      "exception":true
170    },
171    "InvalidGrantException":{
172      "type":"structure",
173      "members":{
174        "error":{"shape":"Error"},
175        "error_description":{"shape":"ErrorDescription"}
176      },
177      "error":{"httpStatusCode":400},
178      "exception":true
179    },
180    "InvalidRequestException":{
181      "type":"structure",
182      "members":{
183        "error":{"shape":"Error"},
184        "error_description":{"shape":"ErrorDescription"}
185      },
186      "error":{"httpStatusCode":400},
187      "exception":true
188    },
189    "InvalidScopeException":{
190      "type":"structure",
191      "members":{
192        "error":{"shape":"Error"},
193        "error_description":{"shape":"ErrorDescription"}
194      },
195      "error":{"httpStatusCode":400},
196      "exception":true
197    },
198    "LongTimeStampType":{"type":"long"},
199    "RefreshToken":{"type":"string"},
200    "RegisterClientRequest":{
201      "type":"structure",
202      "required":[
203        "clientName",
204        "clientType"
205      ],
206      "members":{
207        "clientName":{"shape":"ClientName"},
208        "clientType":{"shape":"ClientType"},
209        "scopes":{"shape":"Scopes"}
210      }
211    },
212    "RegisterClientResponse":{
213      "type":"structure",
214      "members":{
215        "clientId":{"shape":"ClientId"},
216        "clientSecret":{"shape":"ClientSecret"},
217        "clientIdIssuedAt":{"shape":"LongTimeStampType"},
218        "clientSecretExpiresAt":{"shape":"LongTimeStampType"},
219        "authorizationEndpoint":{"shape":"URI"},
220        "tokenEndpoint":{"shape":"URI"}
221      }
222    },
223    "Scope":{"type":"string"},
224    "Scopes":{
225      "type":"list",
226      "member":{"shape":"Scope"}
227    },
228    "SlowDownException":{
229      "type":"structure",
230      "members":{
231        "error":{"shape":"Error"},
232        "error_description":{"shape":"ErrorDescription"}
233      },
234      "error":{"httpStatusCode":400},
235      "exception":true
236    },
237    "StartDeviceAuthorizationRequest":{
238      "type":"structure",
239      "required":[
240        "clientId",
241        "clientSecret",
242        "startUrl"
243      ],
244      "members":{
245        "clientId":{"shape":"ClientId"},
246        "clientSecret":{"shape":"ClientSecret"},
247        "startUrl":{"shape":"URI"}
248      }
249    },
250    "StartDeviceAuthorizationResponse":{
251      "type":"structure",
252      "members":{
253        "deviceCode":{"shape":"DeviceCode"},
254        "userCode":{"shape":"UserCode"},
255        "verificationUri":{"shape":"URI"},
256        "verificationUriComplete":{"shape":"URI"},
257        "expiresIn":{"shape":"ExpirationInSeconds"},
258        "interval":{"shape":"IntervalInSeconds"}
259      }
260    },
261    "TokenType":{"type":"string"},
262    "URI":{"type":"string"},
263    "UnauthorizedClientException":{
264      "type":"structure",
265      "members":{
266        "error":{"shape":"Error"},
267        "error_description":{"shape":"ErrorDescription"}
268      },
269      "error":{"httpStatusCode":400},
270      "exception":true
271    },
272    "UnsupportedGrantTypeException":{
273      "type":"structure",
274      "members":{
275        "error":{"shape":"Error"},
276        "error_description":{"shape":"ErrorDescription"}
277      },
278      "error":{"httpStatusCode":400},
279      "exception":true
280    },
281    "UserCode":{"type":"string"}
282  }
283}
284