REST APIs » History » Revision 11
Revision 10 (Hammel, 13 Jul 2018 09:36) → Revision 11/16 (Hammel, 19 Aug 2018 17:20)
h1. REST APIs h2. Monitor Node (imwww) table{width:100%}. |_. Resource Name |_. HTTP Verbs |_. HTTP Methods |_. Returns |_. Direction |_. Description | | Pair | CREATE Pair | POST /pair/iot | UUID | From IoT Node | Pair an IoT node w/ Monitor | | Pair | CREATE Pair | POST /pair/iot/<uuid> | ACK | From IoT Node | Register an IoT node w/Monitor using UUID | | Pair | CREATE Pair | POST /pair/jarvis/<uuid> | ACK | From Jarvis | Pair a Jarvis node with Monitor | | Monitor | GET Monitor ID| GET /monitor | Monitor ID | From Jarvis | Monitor Identity Identify information | | Device | GET Devices | POST /devices GET /device | Device list | From Jarvis | Get list of device IDs and descriptors | | Device | UPDATE Device | PUT /device/<uuid> | Device state | From Jarvis | Change device state with JSON | | Device | GET Device | POST GET /device/<uuid> | Device state | From Jarvis | Get Device state as JSON | Notes * Monitor identity includes location and possibly other descriptors that uniquely identify the monitor * POST is required for GET requests because the sender must identify themselves with a valid encryption key, which is sent in a JSON body that GET does not allow. This is because we are not using HTTPS but rather encrypting the requests and responses inside a JSON packet stored in the body of messages. h2. IoT Node (embedded in Arduino device code) table{width:100%}. |_. Resource Name |_. HTTP Verbs |_. HTTP Methods |_. Returns |_. Direction |_. Description | | Device | UPDATE Device| PUT /device/<uuid> | Device state | From Monitor | Change device state with JSON | | Device | GET Device | GET /device/<uuid> | Device state | From Monitor | Get Device state as JSON | | Device | GET Register | GET /register/<uuid> | ACK | From Monitor | Provides UUID from monitor |