api-2.json 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. {
  2. "version":"2.0",
  3. "metadata":{
  4. "apiVersion":"2015-05-28",
  5. "endpointPrefix":"data.iot",
  6. "protocol":"rest-json",
  7. "serviceFullName":"AWS IoT Data Plane",
  8. "signatureVersion":"v4",
  9. "signingName":"iotdata"
  10. },
  11. "operations":{
  12. "DeleteThingShadow":{
  13. "name":"DeleteThingShadow",
  14. "http":{
  15. "method":"DELETE",
  16. "requestUri":"/things/{thingName}/shadow"
  17. },
  18. "input":{"shape":"DeleteThingShadowRequest"},
  19. "output":{"shape":"DeleteThingShadowResponse"},
  20. "errors":[
  21. {"shape":"ResourceNotFoundException"},
  22. {"shape":"InvalidRequestException"},
  23. {"shape":"ThrottlingException"},
  24. {"shape":"UnauthorizedException"},
  25. {"shape":"ServiceUnavailableException"},
  26. {"shape":"InternalFailureException"},
  27. {"shape":"MethodNotAllowedException"},
  28. {"shape":"UnsupportedDocumentEncodingException"}
  29. ]
  30. },
  31. "GetThingShadow":{
  32. "name":"GetThingShadow",
  33. "http":{
  34. "method":"GET",
  35. "requestUri":"/things/{thingName}/shadow"
  36. },
  37. "input":{"shape":"GetThingShadowRequest"},
  38. "output":{"shape":"GetThingShadowResponse"},
  39. "errors":[
  40. {"shape":"InvalidRequestException"},
  41. {"shape":"ResourceNotFoundException"},
  42. {"shape":"ThrottlingException"},
  43. {"shape":"UnauthorizedException"},
  44. {"shape":"ServiceUnavailableException"},
  45. {"shape":"InternalFailureException"},
  46. {"shape":"MethodNotAllowedException"},
  47. {"shape":"UnsupportedDocumentEncodingException"}
  48. ]
  49. },
  50. "Publish":{
  51. "name":"Publish",
  52. "http":{
  53. "method":"POST",
  54. "requestUri":"/topics/{topic}"
  55. },
  56. "input":{"shape":"PublishRequest"},
  57. "errors":[
  58. {"shape":"InternalFailureException"},
  59. {"shape":"InvalidRequestException"},
  60. {"shape":"UnauthorizedException"},
  61. {"shape":"MethodNotAllowedException"}
  62. ]
  63. },
  64. "UpdateThingShadow":{
  65. "name":"UpdateThingShadow",
  66. "http":{
  67. "method":"POST",
  68. "requestUri":"/things/{thingName}/shadow"
  69. },
  70. "input":{"shape":"UpdateThingShadowRequest"},
  71. "output":{"shape":"UpdateThingShadowResponse"},
  72. "errors":[
  73. {"shape":"ConflictException"},
  74. {"shape":"RequestEntityTooLargeException"},
  75. {"shape":"InvalidRequestException"},
  76. {"shape":"ThrottlingException"},
  77. {"shape":"UnauthorizedException"},
  78. {"shape":"ServiceUnavailableException"},
  79. {"shape":"InternalFailureException"},
  80. {"shape":"MethodNotAllowedException"},
  81. {"shape":"UnsupportedDocumentEncodingException"}
  82. ]
  83. }
  84. },
  85. "shapes":{
  86. "ConflictException":{
  87. "type":"structure",
  88. "members":{
  89. "message":{"shape":"ErrorMessage"}
  90. },
  91. "error":{"httpStatusCode":409},
  92. "exception":true
  93. },
  94. "DeleteThingShadowRequest":{
  95. "type":"structure",
  96. "required":["thingName"],
  97. "members":{
  98. "thingName":{
  99. "shape":"ThingName",
  100. "location":"uri",
  101. "locationName":"thingName"
  102. }
  103. }
  104. },
  105. "DeleteThingShadowResponse":{
  106. "type":"structure",
  107. "required":["payload"],
  108. "members":{
  109. "payload":{"shape":"JsonDocument"}
  110. },
  111. "payload":"payload"
  112. },
  113. "ErrorMessage":{"type":"string"},
  114. "GetThingShadowRequest":{
  115. "type":"structure",
  116. "required":["thingName"],
  117. "members":{
  118. "thingName":{
  119. "shape":"ThingName",
  120. "location":"uri",
  121. "locationName":"thingName"
  122. }
  123. }
  124. },
  125. "GetThingShadowResponse":{
  126. "type":"structure",
  127. "members":{
  128. "payload":{"shape":"JsonDocument"}
  129. },
  130. "payload":"payload"
  131. },
  132. "InternalFailureException":{
  133. "type":"structure",
  134. "members":{
  135. "message":{"shape":"errorMessage"}
  136. },
  137. "error":{"httpStatusCode":500},
  138. "exception":true,
  139. "fault":true
  140. },
  141. "InvalidRequestException":{
  142. "type":"structure",
  143. "members":{
  144. "message":{"shape":"errorMessage"}
  145. },
  146. "error":{"httpStatusCode":400},
  147. "exception":true
  148. },
  149. "JsonDocument":{"type":"blob"},
  150. "MethodNotAllowedException":{
  151. "type":"structure",
  152. "members":{
  153. "message":{"shape":"ErrorMessage"}
  154. },
  155. "error":{"httpStatusCode":405},
  156. "exception":true
  157. },
  158. "Payload":{"type":"blob"},
  159. "PublishRequest":{
  160. "type":"structure",
  161. "required":["topic"],
  162. "members":{
  163. "topic":{
  164. "shape":"Topic",
  165. "location":"uri",
  166. "locationName":"topic"
  167. },
  168. "qos":{
  169. "shape":"Qos",
  170. "location":"querystring",
  171. "locationName":"qos"
  172. },
  173. "payload":{"shape":"Payload"}
  174. },
  175. "payload":"payload"
  176. },
  177. "Qos":{
  178. "type":"integer",
  179. "max":1,
  180. "min":0
  181. },
  182. "RequestEntityTooLargeException":{
  183. "type":"structure",
  184. "members":{
  185. "message":{"shape":"ErrorMessage"}
  186. },
  187. "error":{"httpStatusCode":413},
  188. "exception":true
  189. },
  190. "ResourceNotFoundException":{
  191. "type":"structure",
  192. "members":{
  193. "message":{"shape":"errorMessage"}
  194. },
  195. "error":{"httpStatusCode":404},
  196. "exception":true
  197. },
  198. "ServiceUnavailableException":{
  199. "type":"structure",
  200. "members":{
  201. "message":{"shape":"errorMessage"}
  202. },
  203. "error":{"httpStatusCode":503},
  204. "exception":true,
  205. "fault":true
  206. },
  207. "ThingName":{
  208. "type":"string",
  209. "max":128,
  210. "min":1,
  211. "pattern":"[a-zA-Z0-9_-]+"
  212. },
  213. "ThrottlingException":{
  214. "type":"structure",
  215. "members":{
  216. "message":{"shape":"errorMessage"}
  217. },
  218. "error":{"httpStatusCode":429},
  219. "exception":true
  220. },
  221. "Topic":{"type":"string"},
  222. "UnauthorizedException":{
  223. "type":"structure",
  224. "members":{
  225. "message":{"shape":"errorMessage"}
  226. },
  227. "error":{"httpStatusCode":401},
  228. "exception":true
  229. },
  230. "UnsupportedDocumentEncodingException":{
  231. "type":"structure",
  232. "members":{
  233. "message":{"shape":"errorMessage"}
  234. },
  235. "error":{"httpStatusCode":415},
  236. "exception":true
  237. },
  238. "UpdateThingShadowRequest":{
  239. "type":"structure",
  240. "required":[
  241. "thingName",
  242. "payload"
  243. ],
  244. "members":{
  245. "thingName":{
  246. "shape":"ThingName",
  247. "location":"uri",
  248. "locationName":"thingName"
  249. },
  250. "payload":{"shape":"JsonDocument"}
  251. },
  252. "payload":"payload"
  253. },
  254. "UpdateThingShadowResponse":{
  255. "type":"structure",
  256. "members":{
  257. "payload":{"shape":"JsonDocument"}
  258. },
  259. "payload":"payload"
  260. },
  261. "errorMessage":{"type":"string"}
  262. }
  263. }