{ "version":"2.0", "metadata":{ "apiVersion":"2014-06-05", "endpointPrefix":"mobileanalytics", "serviceFullName":"Amazon Mobile Analytics", "signatureVersion":"v4", "protocol":"rest-json" }, "operations":{ "PutEvents":{ "name":"PutEvents", "http":{ "method":"POST", "requestUri":"/2014-06-05/events", "responseCode":202 }, "input":{"shape":"PutEventsInput"}, "errors":[ { "shape":"BadRequestException", "error":{"httpStatusCode":400}, "exception":true } ] } }, "shapes":{ "BadRequestException":{ "type":"structure", "members":{ "message":{"shape":"String"} }, "error":{"httpStatusCode":400}, "exception":true }, "Double":{"type":"double"}, "Event":{ "type":"structure", "required":[ "eventType", "timestamp" ], "members":{ "eventType":{"shape":"String50Chars"}, "timestamp":{"shape":"ISO8601Timestamp"}, "session":{"shape":"Session"}, "version":{"shape":"String10Chars"}, "attributes":{"shape":"MapOfStringToString"}, "metrics":{"shape":"MapOfStringToNumber"} } }, "EventListDefinition":{ "type":"list", "member":{"shape":"Event"} }, "ISO8601Timestamp":{"type":"string"}, "Long":{"type":"long"}, "MapOfStringToNumber":{ "type":"map", "key":{"shape":"String50Chars"}, "value":{"shape":"Double"}, "min":0, "max":50 }, "MapOfStringToString":{ "type":"map", "key":{"shape":"String50Chars"}, "value":{"shape":"String0to1000Chars"}, "min":0, "max":50 }, "PutEventsInput":{ "type":"structure", "required":[ "events", "clientContext" ], "members":{ "events":{"shape":"EventListDefinition"}, "clientContext":{ "shape":"String", "location":"header", "locationName":"x-amz-Client-Context" }, "clientContextEncoding":{ "shape":"String", "location":"header", "locationName":"x-amz-Client-Context-Encoding" } } }, "Session":{ "type":"structure", "members":{ "id":{"shape":"String50Chars"}, "duration":{"shape":"Long"}, "startTimestamp":{"shape":"ISO8601Timestamp"}, "stopTimestamp":{"shape":"ISO8601Timestamp"} } }, "String":{"type":"string"}, "String0to1000Chars":{ "type":"string", "min":0, "max":1000 }, "String10Chars":{ "type":"string", "min":1, "max":10 }, "String50Chars":{ "type":"string", "min":1, "max":50 } } }