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