{"info":{"_postman_id":"34cbca17-0653-4c8f-a67e-66bd8beec1bf","name":"backend_api","description":"<html><head></head><body><p>Here you will find all of the backend RESTful API endpoints for the Flask app, and what the requests &amp; responses should look like. This documentation is meant to be supplementary to the source code.</p>\n<p><strong>Notes</strong></p>\n<ul>\n<li>\"Authorization\" means that there must be an Operator logged in in order to perform the request. An auth token can be found by sending the Log in Operator request (see <code>auth</code>).</li>\n</ul>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"9298924","collectionId":"34cbca17-0653-4c8f-a67e-66bd8beec1bf","publishedId":"SW11YKEd","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2019-11-25T18:39:44.000Z"},"item":[{"name":"auth","item":[{"name":"Log in as an Operator","id":"448e0206-a138-4e56-b700-1578b0cebe83","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"username\":\"user1\", \n\t\"password\":\"user1\"\n}"},"url":"http://127.0.0.1:5000/api/auth/login","description":"<p>POSTs the user's username and password. Returns a token that keeps the user logged in. This token is required in order to send many other kinds of requests in the app. The token will eventually expire, which will prompt the operator to log in again.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","auth","login"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[{"id":"26f648a0-4a80-4171-b326-2e39045ef1b4","name":"Successfully logged in","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"username\":\"user1\", \n\t\"password\":\"user1\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:5000/api/auth/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"236"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Mon, 25 Nov 2019 19:59:11 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"User successfully logged in.\",\n    \"auth_token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1NzQ3OTgzNTEsImlhdCI6MTU3NDcxMTk1MSwic3ViIjoyfQ.jHyt-xV_T5v5kj2a39T3LJhD8nyxeWmcXfn-F3VY0gk\"\n}"},{"id":"6c82ec9b-e707-42b3-8e4d-3bdf9907f137","name":"Failed to log in (incorrect username / password)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"username\":\"user1\", \n\t\"password\":\"password123\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:5000/api/auth/login"},"status":"BAD REQUEST","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"81"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 23:28:26 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"Username and/or password is incorrect\"\n}"},{"id":"786f5f6a-69cd-4c12-ad76-3010a3b77433","name":"Failed to log in (invalid data)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"username\":\"user1\", \n\t\"\":\"user1\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:5000/api/auth/login"},"status":"BAD REQUEST","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"229"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 23:29:31 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"The posted data is not valid!\",\n    \"errors\": {\n        \"password\": [\n            \"Missing data for required field.\"\n        ],\n        \"\": [\n            \"Unknown field.\"\n        ]\n    }\n}"}],"_postman_id":"448e0206-a138-4e56-b700-1578b0cebe83"},{"name":"Log out an Operator","id":"49678379-0452-4194-9c3b-c99820988894","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://127.0.0.1:5000/api/auth/logout","urlObject":{"protocol":"http","port":"5000","path":["api","auth","logout"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[{"id":"bb1e470a-cc15-48e6-bf81-a66cf205f5e4","name":"Not logged in / Not authenticated","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer ","type":"text","disabled":true},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://127.0.0.1:5000/api/auth/logout"},"status":"UNAUTHORIZED","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"71"},{"key":"WWW-Authenticate","value":"Bearer"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 23:41:34 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"Provide a valid auth token.\"\n}"},{"id":"fcb25960-278b-4a95-a2de-31c7f5f5b92c","name":"Successfully logged out","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://127.0.0.1:5000/api/auth/logout"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"71"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 23:41:17 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"Successfully logged out.\"\n}"}],"_postman_id":"49678379-0452-4194-9c3b-c99820988894"}],"id":"1514718c-57dd-4878-81b5-27b0d218eb97","description":"<p>These requests have to do with the authentication functions of the app, mainly logging in Operators and keeping track of the authentication token.</p>\n","event":[{"listen":"prerequest","script":{"id":"0384ccea-96d4-4721-9558-1cf462701fe5","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"b30eaa83-b4b2-4505-a1a2-9274c728907a","type":"text/javascript","exec":[""]}}],"_postman_id":"1514718c-57dd-4878-81b5-27b0d218eb97"},{"name":"communications","item":[{"name":"Get all Communications","id":"ea5fd05e-235d-48a7-a59b-0b5d4b53853b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:5000/api/communications","description":"<p>Gets all of the messages stored in the database and returns them in a list.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","communications"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[{"id":"47e93623-59be-41b7-a0ca-7e09e5fb605d","name":"Successfully got all Communications","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:5000/api/communications"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"978"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Thu, 28 Nov 2019 00:29:12 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"messages\": [\n            {\n                \"message_id\": 1,\n                \"message\": \"ping\",\n                \"timestamp\": \"2019-10-10T17:17:52\",\n                \"sender\": \"user\",\n                \"receiver\": \"comm\"\n            },\n            {\n                \"message_id\": 2,\n                \"message\": \"ping\",\n                \"timestamp\": \"2019-11-28T00:28:27.380445\",\n                \"sender\": \"user2\",\n                \"receiver\": \"comm\"\n            },\n            {\n                \"message_id\": 3,\n                \"message\": \"ping\",\n                \"timestamp\": \"2019-11-28T00:28:33.236725\",\n                \"sender\": \"user2\",\n                \"receiver\": \"comm\"\n            },\n            {\n                \"message_id\": 4,\n                \"message\": \"get-hk\",\n                \"timestamp\": \"2019-11-28T00:29:03.764728\",\n                \"sender\": \"user2\",\n                \"receiver\": \"comm\"\n            }\n        ]\n    }\n}"}],"_postman_id":"ea5fd05e-235d-48a7-a59b-0b5d4b53853b"},{"name":"Post a new Communication","id":"16f51dee-1ae7-4f31-bf13-159a906b7e36","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"message\": \"get-hk\",\n\t\"timestamp\": \"2019-10-10T17:18:52\",\n\t\"sender\": \"user\",\n\t\"receiver\": \"comm\"\n}"},"url":"http://127.0.0.1:5000/api/communications","description":"<p>Posts a new communication message to the database.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","communications"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[{"id":"32fe58e8-b974-4d3a-9df3-4748bd98e49f","name":"Successfully posted a new Communication","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"message\": \"get-hk\",\n\t\"timestamp\": \"2019-10-10T17:18:52\",\n\t\"sender\": \"user\",\n\t\"receiver\": \"comm\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:5000/api/communications"},"status":"CREATED","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"250"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Thu, 28 Nov 2019 00:34:53 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"message get-hk was sent!\",\n    \"data\": {\n        \"message_id\": 2,\n        \"message\": \"get-hk\",\n        \"timestamp\": \"2019-11-28T00:34:53.513287\",\n        \"sender\": \"user\",\n        \"receiver\": \"comm\"\n    }\n}"}],"_postman_id":"16f51dee-1ae7-4f31-bf13-159a906b7e36"},{"name":"Get a single Communication","id":"fd38d0f8-78af-4770-b5a6-bf834d8e3998","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:5000/api/communications/:message_id","description":"<p>Gets a single communication message from the database.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","communications",":message_id"],"host":["127","0","0","1"],"query":[],"variable":[{"type":"string","value":"1","key":"message_id"}]}},"response":[],"_postman_id":"fd38d0f8-78af-4770-b5a6-bf834d8e3998"}],"id":"09088bbe-435e-4423-9646-2f630ad93c8f","description":"<p>This requests are about the Communications part of the database which is used to log actions and commands made by Operators and automation.\nNote: Be careful, smooth error handling may not be present.</p>\n","event":[{"listen":"prerequest","script":{"id":"0d423f29-be39-48c7-8b11-5cc04b858dac","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"df8494a2-3ab1-4540-9b58-b189a2653d75","type":"text/javascript","exec":[""]}}],"_postman_id":"09088bbe-435e-4423-9646-2f630ad93c8f"},{"name":"flightschedule","item":[{"name":"Get All Flight Schedules","id":"bbfb6121-aa49-4297-85f7-7f76e2cec639","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://127.0.0.1:5000/api/flightschedules","description":"<p>Gets all the flight schedules from the database in a list.\nNote: Each flight schedule may have few or many flight schedule commands in it.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","flightschedules"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[{"id":"2f3f2dfb-c5f7-436a-954a-ec308717aad1","name":"Successfully got all flight schedules","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://127.0.0.1:5000/api/flightschedules"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"1431"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Mon, 25 Nov 2019 20:28:25 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"flightschedules\": [\n            {\n                \"flightschedule_id\": 1,\n                \"creation_date\": \"2019-10-10 17:17:52\",\n                \"upload_date\": \"2019-10-10 17:17:52\",\n                \"status\": 2,\n                \"commands\": [\n                    {\n                        \"flightschedule_command_id\": 1,\n                        \"timestamp\": \"2019-10-10 17:17:52\",\n                        \"command\": {\n                            \"command_id\": 1,\n                            \"command_name\": \"ping\",\n                            \"num_arguments\": 0,\n                            \"is_dangerous\": false\n                        },\n                        \"args\": []\n                    },\n                    {\n                        \"flightschedule_command_id\": 2,\n                        \"timestamp\": \"2019-10-10 17:17:52\",\n                        \"command\": {\n                            \"command_id\": 3,\n                            \"command_name\": \"turn-on\",\n                            \"num_arguments\": 1,\n                            \"is_dangerous\": true\n                        },\n                        \"args\": [\n                            {\n                                \"index\": 0,\n                                \"argument\": \"5\"\n                            }\n                        ]\n                    }\n                ]\n            }\n        ]\n    }\n}"},{"id":"830fe70b-6f28-42e6-a7ae-f81061d80589","name":"Not logged in / Not authenticated","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer ","type":"text","disabled":true},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://127.0.0.1:5000/api/flightschedules"},"status":"UNAUTHORIZED","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"71"},{"key":"WWW-Authenticate","value":"Bearer"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Mon, 25 Nov 2019 20:36:04 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"Provide a valid auth token.\"\n}"},{"id":"fc7fae5a-d041-471b-af05-4e4f06d54e01","name":"There are no Flight Schedules","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://127.0.0.1:5000/api/flightschedules"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"79"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Mon, 25 Nov 2019 21:15:25 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"flightschedules\": []\n    }\n}"}],"_postman_id":"bbfb6121-aa49-4297-85f7-7f76e2cec639"},{"name":"Post a new Flight Schedule","id":"fd70ee1e-3171-4b65-9949-bbb904aa04dc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"execution_time\":\"2019-11-25 20:43:06.652000\",\n    \"status\": 2, \n    \"commands\": [\n        {\n            \"timestamp\": \"2019-11-25 20:43:06.652000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        }, \n        {\n            \"timestamp\": \"2019-11-25 20:44:17.109000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        }, \n        {\n            \"timestamp\": \"2019-11-25 20:45:27.123000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        }, \n        {\n            \"timestamp\": \"2019-11-25 20:46:41.098000\", \n            \"command\": {\n                \"command_id\": 2, \n                \"command_name\": \"get-hk\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        }, \n        {\n            \"timestamp\": \"2019-11-25 20:50:53.318000\", \n            \"command\": {\n                \"command_id\": 6, \n                \"command_name\": \"upload-fs\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        },\n        {\n            \"timestamp\": \"2019-11-25 20:51:43.457000\", \n            \"command\": {\n                \"command_id\": 4, \n                \"command_name\": \"turn-off\", \n                \"num_arguments\": 1, \n                \"is_dangerous\": true\n            }, \n            \"args\": [\n                {\n                    \"index\": 0, \n                    \"argument\": \"5\"\n                }\n            ]\n        }\n    ]\n}"},"url":"http://127.0.0.1:5000/api/flightschedules","description":"<p>Posts a new Flight Schedule to the database.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","flightschedules"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[{"id":"0a25127e-bae1-4979-b3ea-230009d068bf","name":"Successfully Posted a new Flight Schedule","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"status\": 2, \n    \"commands\": [\n        {\n            \"timestamp\": \"2019-11-25 20:43:06.652000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        }, \n        {\n            \"timestamp\": \"2019-11-25 20:44:17.109000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        }, \n        {\n            \"timestamp\": \"2019-11-25 20:45:27.123000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        }, \n        {\n            \"timestamp\": \"2019-11-25 20:46:41.098000\", \n            \"command\": {\n                \"command_id\": 2, \n                \"command_name\": \"get-hk\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        }, \n        {\n            \"timestamp\": \"2019-11-25 20:50:53.318000\", \n            \"command\": {\n                \"command_id\": 6, \n                \"command_name\": \"upload-fs\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        },\n        {\n            \"timestamp\": \"2019-11-25 20:51:43.457000\", \n            \"command\": {\n                \"command_id\": 4, \n                \"command_name\": \"turn-off\", \n                \"num_arguments\": 1, \n                \"is_dangerous\": true\n            }, \n            \"args\": [\n                {\n                    \"index\": 0, \n                    \"argument\": \"5\"\n                }\n            ]\n        }\n    ]\n}"},"url":"http://127.0.0.1:5000/api/flightschedules"},"status":"CREATED","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"2616"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Mon, 25 Nov 2019 21:03:49 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"flightschedule_id\": 6,\n        \"creation_date\": \"2019-11-25 21:03:49.194098\",\n        \"upload_date\": \"None\",\n        \"status\": 2,\n        \"commands\": [\n            {\n                \"flightschedule_command_id\": 16,\n                \"timestamp\": \"2019-11-25 20:43:06.652000\",\n                \"command\": {\n                    \"command_id\": 1,\n                    \"command_name\": \"ping\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 17,\n                \"timestamp\": \"2019-11-25 20:44:17.109000\",\n                \"command\": {\n                    \"command_id\": 1,\n                    \"command_name\": \"ping\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 18,\n                \"timestamp\": \"2019-11-25 20:45:27.123000\",\n                \"command\": {\n                    \"command_id\": 1,\n                    \"command_name\": \"ping\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 19,\n                \"timestamp\": \"2019-11-25 20:46:41.098000\",\n                \"command\": {\n                    \"command_id\": 2,\n                    \"command_name\": \"get-hk\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 20,\n                \"timestamp\": \"2019-11-25 20:50:53.318000\",\n                \"command\": {\n                    \"command_id\": 6,\n                    \"command_name\": \"upload-fs\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 21,\n                \"timestamp\": \"2019-11-25 20:51:43.457000\",\n                \"command\": {\n                    \"command_id\": 4,\n                    \"command_name\": \"turn-off\",\n                    \"num_arguments\": 1,\n                    \"is_dangerous\": true\n                },\n                \"args\": [\n                    {\n                        \"index\": 0,\n                        \"argument\": \"5\"\n                    }\n                ]\n            }\n        ]\n    }\n}"},{"id":"3fbd727e-812f-43d1-ba2d-5dfd545f1525","name":"Failed to Post a new Flight Schedule","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"flightschedule_id\": 3, \n    \"creation_date\": \"2019-11-25 20:44:24.111285\", \n    \"upload_date\": \"None\", \n    \"status\": 2, \n    \"commands\": [\n        {\n            \"timestamp\": \"2019-11-25 20:43:06.652000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        }, \n        {\n            \"timestamp\": \"2019-11-25 20:44:17.109000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        }, \n        {\n            \"timestamp\": \"2019-11-25 20:45:27.123000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        }, \n        {\n            \"timestamp\": \"2019-11-25 20:46:41.098000\", \n            \"command\": {\n                \"command_id\": 2, \n                \"command_name\": \"get-hk\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        }, \n        {\n            \"timestamp\": \"2019-11-25 20:50:53.318000\", \n            \"command\": {\n                \"command_id\": 6, \n                \"command_name\": \"upload-fs\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        },\n        {\n            \"timestamp\": \"2019-11-25 20:51:43.457000\", \n            \"command\": {\n                \"command_id\": 4, \n                \"command_name\": \"turn-off\", \n                \"num_arguments\": 1, \n                \"is_dangerous\": true\n            }, \n            \"args\": [\n                {\n                    \"index\": 0, \n                    \"argument\": \"5\"\n                }\n            ]\n        }\n    ]\n}"},"url":"http://127.0.0.1:5000/api/flightschedules"},"status":"BAD REQUEST","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"298"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Mon, 25 Nov 2019 21:06:38 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"The posted data is not valid!\",\n    \"errors\": {\n        \"creation_date\": [\n            \"Unknown field.\"\n        ],\n        \"upload_date\": [\n            \"Unknown field.\"\n        ],\n        \"flightschedule_id\": [\n            \"Unknown field.\"\n        ]\n    }\n}"},{"id":"d3f693d3-3d74-4fe8-8375-784e97859d8f","name":"Not logged in / Not authenticated","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text","disabled":true},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"status\": 2, \n    \"commands\": [\n        {\n            \"timestamp\": \"2019-11-25 20:43:06.652000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        }, \n        {\n            \"timestamp\": \"2019-11-25 20:44:17.109000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        }, \n        {\n            \"timestamp\": \"2019-11-25 20:45:27.123000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        }, \n        {\n            \"timestamp\": \"2019-11-25 20:46:41.098000\", \n            \"command\": {\n                \"command_id\": 2, \n                \"command_name\": \"get-hk\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        }, \n        {\n            \"timestamp\": \"2019-11-25 20:50:53.318000\", \n            \"command\": {\n                \"command_id\": 6, \n                \"command_name\": \"upload-fs\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": []\n        },\n        {\n            \"timestamp\": \"2019-11-25 20:51:43.457000\", \n            \"command\": {\n                \"command_id\": 4, \n                \"command_name\": \"turn-off\", \n                \"num_arguments\": 1, \n                \"is_dangerous\": true\n            }, \n            \"args\": [\n                {\n                    \"index\": 0, \n                    \"argument\": \"5\"\n                }\n            ]\n        }\n    ]\n}"},"url":"http://127.0.0.1:5000/api/flightschedules"},"status":"UNAUTHORIZED","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"71"},{"key":"WWW-Authenticate","value":"Bearer"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Mon, 25 Nov 2019 21:07:44 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"Provide a valid auth token.\"\n}"}],"_postman_id":"fd70ee1e-3171-4b65-9949-bbb904aa04dc"},{"name":"Get a single Flight Schedule","id":"464952e4-2cdd-4ad2-9fcc-9ef01bbd2726","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://127.0.0.1:5000/api/flightschedules/:flightschedule_id","description":"<p>Gets the Flight Schedule with the matching <code>flightschedule_id</code>. Note that this id is not displayed anywhere; however, the database uses <code>flightschedule_id</code> to keep track of each Flight Schedule.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","flightschedules",":flightschedule_id"],"host":["127","0","0","1"],"query":[],"variable":[{"type":"string","value":"1","key":"flightschedule_id"}]}},"response":[{"id":"0afcaf20-aaf5-45c5-a16f-851d5f967f55","name":"Successfully got the Flight Schedule","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"http://127.0.0.1:5000/api/flightschedules/:flightschedule_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","flightschedules",":flightschedule_id"],"variable":[{"key":"flightschedule_id","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"1149"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 03:41:11 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"flightschedule_id\": 1,\n        \"creation_date\": \"2019-10-10 17:17:52\",\n        \"upload_date\": \"2019-10-10 17:17:52\",\n        \"status\": 2,\n        \"execution_time\": \"2019-10-10T17:17:52\",\n        \"commands\": [\n            {\n                \"flightschedule_command_id\": 1,\n                \"timestamp\": \"2019-10-10 17:17:52\",\n                \"command\": {\n                    \"command_id\": 1,\n                    \"command_name\": \"ping\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 2,\n                \"timestamp\": \"2019-10-10 17:17:52\",\n                \"command\": {\n                    \"command_id\": 3,\n                    \"command_name\": \"turn-on\",\n                    \"num_arguments\": 1,\n                    \"is_dangerous\": true\n                },\n                \"args\": [\n                    {\n                        \"index\": 0,\n                        \"argument\": \"5\"\n                    }\n                ]\n            }\n        ]\n    }\n}"},{"id":"4e4b443c-4e0b-491f-a764-0491883c43b7","name":"Not logged in / Not authenticated","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer ","type":"text","disabled":true},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"http://127.0.0.1:5000/api/flightschedules/:flightschedule_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","flightschedules",":flightschedule_id"],"variable":[{"key":"flightschedule_id","value":"1"}]}},"status":"UNAUTHORIZED","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"71"},{"key":"WWW-Authenticate","value":"Bearer"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 03:42:06 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"Provide a valid auth token.\"\n}"},{"id":"efe87353-8117-47ff-8787-7092aedd9fa6","name":"Flight Schedule with that id does not exist","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"http://127.0.0.1:5000/api/flightschedules/:flightschedule_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","flightschedules",":flightschedule_id"],"variable":[{"key":"flightschedule_id","value":"0"}]}},"status":"NOT FOUND","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"73"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 03:44:09 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"Flightschedule does not exist\"\n}"}],"_postman_id":"464952e4-2cdd-4ad2-9fcc-9ef01bbd2726"},{"name":"Delete a Flight Schedule","id":"30a75c1f-d8f9-4882-a35a-630828278795","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://127.0.0.1:5000/api/flightschedules/:flightschedule_id","description":"<p>Deletes the Flight Schedule with the matching <code>flightschedule_id</code>. </p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","flightschedules",":flightschedule_id"],"host":["127","0","0","1"],"query":[],"variable":[{"type":"string","value":"1","key":"flightschedule_id"}]}},"response":[{"id":"8741cfea-c35f-441b-a1fb-cd260d57c9be","name":"Flight Schedule with that id doesn't exist","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"http://127.0.0.1:5000/api/flightschedules/:flightschedule_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","flightschedules",":flightschedule_id"],"variable":[{"key":"flightschedule_id","value":"0","description":"Starts at 1 and counts up."}]}},"status":"NOT FOUND","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"73"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 03:51:40 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"Flightschedule does not exist\"\n}"},{"id":"dc572629-5188-4992-b570-d3f9453a98bf","name":"Successfully deleted a Flight Schedule","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"http://127.0.0.1:5000/api/flightschedules/:flightschedule_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","flightschedules",":flightschedule_id"],"variable":[{"key":"flightschedule_id","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"81"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 03:49:58 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"flightschedule succesfully deleted\"\n}"}],"_postman_id":"30a75c1f-d8f9-4882-a35a-630828278795"},{"name":"Edit a Flight Schedule","id":"66a3c2e6-799b-4f7b-b208-49efd33abd98","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"status\": 2, \n    \"execution_time\": \"2019-11-27T20:43:00\", \n    \"commands\": [\n        {\n            \"flightschedule_command_id\": 1, \n            \"timestamp\": \"2019-11-27 20:43:00\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 2, \n            \"timestamp\": \"2019-11-27 20:44:10.457000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 3, \n            \"timestamp\": \"2019-11-27 20:45:20.471000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 4, \n            \"timestamp\": \"2019-11-27 20:46:34.446000\", \n            \"command\": {\n                \"command_id\": 2, \n                \"command_name\": \"get-hk\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 5, \n            \"timestamp\": \"2019-11-27 20:50:46.666000\", \n            \"command\": {\n                \"command_id\": 6, \n                \"command_name\": \"upload-fs\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"remove\"\n        }, \n        {\n            \"flightschedule_command_id\": 6, \n            \"timestamp\": \"2019-11-27 20:51:36.805000\", \n            \"command\": {\n                \"command_id\": 4, \n                \"command_name\": \"turn-off\", \n                \"num_arguments\": 1, \n                \"is_dangerous\": true\n            }, \n            \"args\": [\n                {\n                    \"index\": 0, \n                    \"argument\": \"5\"\n                }\n            ], \n            \"op\": \"replace\"\n        }, \n        {\n            \"command\": {\n                \"command_id\": 6, \n                \"command_name\": \"upload-fs\"\n            }, \n            \"timestamp\": \"2019-11-27T20:52:40.000Z\", \n            \"args\": [], \n            \"op\": \"add\"\n        }\n    ]\n}"},"url":"http://127.0.0.1:5000/api/flightschedules/:flightschedule_id","description":"<p>All functionality for editing a Flight Schedule uses this request. This includes adding &amp; removing Flight Schedule commands, modifying their arguments, and queuing &amp; dequeuing a Flight Schedule. Follow the correct format and properties for the JSON or else the request will not succeed.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","flightschedules",":flightschedule_id"],"host":["127","0","0","1"],"query":[],"variable":[{"type":"string","value":"1","key":"flightschedule_id"}]}},"response":[{"id":"2d8a0b13-3e7f-4b1d-907b-ed177738a9f0","name":"Dequeue a Flight Schedule","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"status\": 2, \n    \"execution_time\": \"2019-11-25T20:43:06.652000\", \n    \"commands\": [\n        {\n            \"flightschedule_command_id\": 1, \n            \"timestamp\": \"2019-11-25 20:43:06.652000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 2, \n            \"timestamp\": \"2019-11-25 20:44:17.109000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 3, \n            \"timestamp\": \"2019-11-25 20:45:27.123000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 4, \n            \"timestamp\": \"2019-11-25 20:46:41.098000\", \n            \"command\": {\n                \"command_id\": 2, \n                \"command_name\": \"get-hk\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 5, \n            \"timestamp\": \"2019-11-25 20:50:53.318000\", \n            \"command\": {\n                \"command_id\": 6, \n                \"command_name\": \"upload-fs\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 6, \n            \"timestamp\": \"2019-11-25 20:51:43.457000\", \n            \"command\": {\n                \"command_id\": 4, \n                \"command_name\": \"turn-off\", \n                \"num_arguments\": 1, \n                \"is_dangerous\": true\n            }, \n            \"args\": [\n                {\n                    \"index\": 0, \n                    \"argument\": \"5\"\n                }\n            ], \n            \"op\": \"none\"\n        }\n    ]\n}\n"},"url":{"raw":"http://127.0.0.1:5000/api/flightschedules/:flightschedule_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","flightschedules",":flightschedule_id"],"variable":[{"key":"flightschedule_id","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"2666"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 04:13:19 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"flightschedule_id\": 1,\n        \"creation_date\": \"2019-11-27 03:56:39.460496\",\n        \"upload_date\": \"None\",\n        \"status\": 2,\n        \"execution_time\": \"2019-11-25T20:43:06.652000\",\n        \"commands\": [\n            {\n                \"flightschedule_command_id\": 1,\n                \"timestamp\": \"2019-11-25 20:43:06.652000\",\n                \"command\": {\n                    \"command_id\": 1,\n                    \"command_name\": \"ping\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 2,\n                \"timestamp\": \"2019-11-25 20:44:17.109000\",\n                \"command\": {\n                    \"command_id\": 1,\n                    \"command_name\": \"ping\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 3,\n                \"timestamp\": \"2019-11-25 20:45:27.123000\",\n                \"command\": {\n                    \"command_id\": 1,\n                    \"command_name\": \"ping\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 4,\n                \"timestamp\": \"2019-11-25 20:46:41.098000\",\n                \"command\": {\n                    \"command_id\": 2,\n                    \"command_name\": \"get-hk\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 5,\n                \"timestamp\": \"2019-11-25 20:50:53.318000\",\n                \"command\": {\n                    \"command_id\": 6,\n                    \"command_name\": \"upload-fs\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 6,\n                \"timestamp\": \"2019-11-25 20:51:43.457000\",\n                \"command\": {\n                    \"command_id\": 4,\n                    \"command_name\": \"turn-off\",\n                    \"num_arguments\": 1,\n                    \"is_dangerous\": true\n                },\n                \"args\": [\n                    {\n                        \"index\": 0,\n                        \"argument\": \"5\"\n                    }\n                ]\n            }\n        ]\n    }\n}"},{"id":"429c6c27-8691-4472-a85d-6ea774374581","name":"Failed to edit a Flight Schedule (data invalid)","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"status\": 2, \n    \"execution_time\": \"2019-11-27T20:43:00\", \n    \"commands\": [\n        {\n            \"flightschedule_command_id\": 1, \n            \"timestamp\": \"2019-11-27 20:43:00\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 2, \n            \"timestamp\": \"2019-11-27 20:44:10.457000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 3, \n            \"timestamp\": \"2019-11-27 20:45:20.471000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 4, \n            \"timestamp\": \"2019-11-27 20:46:34.446000\", \n            \"command\": {\n                \"command_id\": 2, \n                \"command_name\": \"get-hk\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 5, \n            \"timestamp\": \"2019-11-27 20:50:46.666000\", \n            \"command\": {\n                \"command_id\": 6, \n                \"command_name\": \"upload-fs\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"remove\"\n        }, \n        {\n            \"flightschedule_command_id\": 6, \n            \"timestamp\": \"2019-11-27 20:51:36.805000\", \n            \"command\": {\n                \"command_id\": 4, \n                \"command_name\": \"turn-off\", \n                \"num_arguments\": 1, \n                \"is_dangerous\": true\n            }, \n            \"args\": [\n                {\n                    \"index\": 0, \n                    \"argument\": \"5\"\n                }\n            ], \n            \"op\": \"replace\"\n        }, \n        {\n            \"command\": {\n                \"command_id\": 6, \n                \"command_name\": \"upload-fs\"\n            }, \n            \"timestamp\": \"\", \n            \"args\": [], \n            \"op\": \"add\"\n        }\n    ]\n}"},"url":{"raw":"http://127.0.0.1:5000/api/flightschedules/:flightschedule_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","flightschedules",":flightschedule_id"],"variable":[{"key":"flightschedule_id","value":"1"}]}},"status":"BAD REQUEST","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"254"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 04:53:15 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"The posted data is not valid!\",\n    \"errors\": {\n        \"commands\": {\n            \"6\": {\n                \"timestamp\": [\n                    \"Not a valid datetime.\"\n                ]\n            }\n        }\n    }\n}"},{"id":"4dce2021-a631-4ca8-9666-d1f0dc4b733b","name":"Successfully Edited a Flight Schedule","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"status\": 2, \n    \"execution_time\": \"2019-11-27T20:43:00\", \n    \"commands\": [\n        {\n            \"flightschedule_command_id\": 1, \n            \"timestamp\": \"2019-11-27 20:43:00\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 2, \n            \"timestamp\": \"2019-11-27 20:44:10.457000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 3, \n            \"timestamp\": \"2019-11-27 20:45:20.471000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 4, \n            \"timestamp\": \"2019-11-27 20:46:34.446000\", \n            \"command\": {\n                \"command_id\": 2, \n                \"command_name\": \"get-hk\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 5, \n            \"timestamp\": \"2019-11-27 20:50:46.666000\", \n            \"command\": {\n                \"command_id\": 6, \n                \"command_name\": \"upload-fs\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"remove\"\n        }, \n        {\n            \"flightschedule_command_id\": 6, \n            \"timestamp\": \"2019-11-27 20:51:36.805000\", \n            \"command\": {\n                \"command_id\": 4, \n                \"command_name\": \"turn-off\", \n                \"num_arguments\": 1, \n                \"is_dangerous\": true\n            }, \n            \"args\": [\n                {\n                    \"index\": 0, \n                    \"argument\": \"5\"\n                }\n            ], \n            \"op\": \"replace\"\n        }, \n        {\n            \"command\": {\n                \"command_id\": 6, \n                \"command_name\": \"upload-fs\"\n            }, \n            \"timestamp\": \"2019-11-27T20:52:40.000Z\", \n            \"args\": [], \n            \"op\": \"add\"\n        }\n    ]\n}"},"url":{"raw":"http://127.0.0.1:5000/api/flightschedules/:flightschedule_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","flightschedules",":flightschedule_id"],"variable":[{"key":"flightschedule_id","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"2652"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 04:44:30 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"flightschedule_id\": 1,\n        \"creation_date\": \"2019-11-27 04:43:24.866091\",\n        \"upload_date\": \"None\",\n        \"status\": 2,\n        \"execution_time\": \"2019-11-27T20:43:00\",\n        \"commands\": [\n            {\n                \"flightschedule_command_id\": 1,\n                \"timestamp\": \"2019-11-25 20:43:06.652000\",\n                \"command\": {\n                    \"command_id\": 1,\n                    \"command_name\": \"ping\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 2,\n                \"timestamp\": \"2019-11-25 20:44:17.109000\",\n                \"command\": {\n                    \"command_id\": 1,\n                    \"command_name\": \"ping\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 3,\n                \"timestamp\": \"2019-11-25 20:45:27.123000\",\n                \"command\": {\n                    \"command_id\": 1,\n                    \"command_name\": \"ping\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 4,\n                \"timestamp\": \"2019-11-25 20:46:41.098000\",\n                \"command\": {\n                    \"command_id\": 2,\n                    \"command_name\": \"get-hk\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 6,\n                \"timestamp\": \"2019-11-27 20:51:36.805000\",\n                \"command\": {\n                    \"command_id\": 4,\n                    \"command_name\": \"turn-off\",\n                    \"num_arguments\": 1,\n                    \"is_dangerous\": true\n                },\n                \"args\": [\n                    {\n                        \"index\": 0,\n                        \"argument\": \"5\"\n                    }\n                ]\n            },\n            {\n                \"flightschedule_command_id\": 7,\n                \"timestamp\": \"2019-11-27 20:52:40\",\n                \"command\": {\n                    \"command_id\": 6,\n                    \"command_name\": \"upload-fs\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            }\n        ]\n    }\n}"},{"id":"63c8a47b-831d-49f9-a643-08631e04fc1a","name":"Flight Schedule matching flightschedule_id does not exist","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"status\": 2, \n    \"execution_time\": \"2019-11-27T20:43:00\", \n    \"commands\": [\n        {\n            \"flightschedule_command_id\": 1, \n            \"timestamp\": \"2019-11-27 20:43:00\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 2, \n            \"timestamp\": \"2019-11-27 20:44:10.457000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 3, \n            \"timestamp\": \"2019-11-27 20:45:20.471000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 4, \n            \"timestamp\": \"2019-11-27 20:46:34.446000\", \n            \"command\": {\n                \"command_id\": 2, \n                \"command_name\": \"get-hk\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 5, \n            \"timestamp\": \"2019-11-27 20:50:46.666000\", \n            \"command\": {\n                \"command_id\": 6, \n                \"command_name\": \"upload-fs\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"remove\"\n        }, \n        {\n            \"flightschedule_command_id\": 6, \n            \"timestamp\": \"2019-11-27 20:51:36.805000\", \n            \"command\": {\n                \"command_id\": 4, \n                \"command_name\": \"turn-off\", \n                \"num_arguments\": 1, \n                \"is_dangerous\": true\n            }, \n            \"args\": [\n                {\n                    \"index\": 0, \n                    \"argument\": \"5\"\n                }\n            ], \n            \"op\": \"replace\"\n        }, \n        {\n            \"command\": {\n                \"command_id\": 6, \n                \"command_name\": \"upload-fs\"\n            }, \n            \"timestamp\": \"2019-11-27T20:52:40.000Z\", \n            \"args\": [], \n            \"op\": \"add\"\n        }\n    ]\n}"},"url":{"raw":"http://127.0.0.1:5000/api/flightschedules/:flightschedule_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","flightschedules",":flightschedule_id"],"variable":[{"key":"flightschedule_id","value":"0"}]}},"status":"NOT FOUND","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"73"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 04:57:29 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"Flightschedule does not exist\"\n}"},{"id":"e6ec9d9a-8390-4536-aadd-7d9cb4c6415f","name":"Failed to queue a Flight Schedule (already exists)","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"status\": 1, \n    \"execution_time\": \"2019-11-25T20:43:06.652000\", \n    \"commands\": [\n        {\n            \"flightschedule_command_id\": 1, \n            \"timestamp\": \"2019-11-25 20:43:06.652000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 2, \n            \"timestamp\": \"2019-11-25 20:44:17.109000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 3, \n            \"timestamp\": \"2019-11-25 20:45:27.123000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 4, \n            \"timestamp\": \"2019-11-25 20:46:41.098000\", \n            \"command\": {\n                \"command_id\": 2, \n                \"command_name\": \"get-hk\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 5, \n            \"timestamp\": \"2019-11-25 20:50:53.318000\", \n            \"command\": {\n                \"command_id\": 6, \n                \"command_name\": \"upload-fs\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 6, \n            \"timestamp\": \"2019-11-25 20:51:43.457000\", \n            \"command\": {\n                \"command_id\": 4, \n                \"command_name\": \"turn-off\", \n                \"num_arguments\": 1, \n                \"is_dangerous\": true\n            }, \n            \"args\": [\n                {\n                    \"index\": 0, \n                    \"argument\": \"5\"\n                }\n            ], \n            \"op\": \"none\"\n        }\n    ]\n}\n"},"url":{"raw":"http://127.0.0.1:5000/api/flightschedules/:flightschedule_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","flightschedules",":flightschedule_id"],"variable":[{"key":"flightschedule_id","value":"2","description":"Remember: this is just for the example."}]}},"status":"BAD REQUEST","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"84"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 04:11:42 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"A Queued flight schedule already exists!\"\n}"},{"id":"f11657e5-7630-470d-a462-e2964ea2ece9","name":"Successfully queue a Flight Schedule","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"status\": 1, \n    \"execution_time\": \"2019-11-25T20:43:06.652000\", \n    \"commands\": [\n        {\n            \"flightschedule_command_id\": 1, \n            \"timestamp\": \"2019-11-25 20:43:06.652000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 2, \n            \"timestamp\": \"2019-11-25 20:44:17.109000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 3, \n            \"timestamp\": \"2019-11-25 20:45:27.123000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 4, \n            \"timestamp\": \"2019-11-25 20:46:41.098000\", \n            \"command\": {\n                \"command_id\": 2, \n                \"command_name\": \"get-hk\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 5, \n            \"timestamp\": \"2019-11-25 20:50:53.318000\", \n            \"command\": {\n                \"command_id\": 6, \n                \"command_name\": \"upload-fs\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 6, \n            \"timestamp\": \"2019-11-25 20:51:43.457000\", \n            \"command\": {\n                \"command_id\": 4, \n                \"command_name\": \"turn-off\", \n                \"num_arguments\": 1, \n                \"is_dangerous\": true\n            }, \n            \"args\": [\n                {\n                    \"index\": 0, \n                    \"argument\": \"5\"\n                }\n            ], \n            \"op\": \"none\"\n        }\n    ]\n}\n"},"url":{"raw":"http://127.0.0.1:5000/api/flightschedules/:flightschedule_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","flightschedules",":flightschedule_id"],"variable":[{"key":"flightschedule_id","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"2666"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 04:08:26 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"flightschedule_id\": 1,\n        \"creation_date\": \"2019-11-27 03:56:39.460496\",\n        \"upload_date\": \"None\",\n        \"status\": 1,\n        \"execution_time\": \"2019-11-25T20:43:06.652000\",\n        \"commands\": [\n            {\n                \"flightschedule_command_id\": 1,\n                \"timestamp\": \"2019-11-25 20:43:06.652000\",\n                \"command\": {\n                    \"command_id\": 1,\n                    \"command_name\": \"ping\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 2,\n                \"timestamp\": \"2019-11-25 20:44:17.109000\",\n                \"command\": {\n                    \"command_id\": 1,\n                    \"command_name\": \"ping\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 3,\n                \"timestamp\": \"2019-11-25 20:45:27.123000\",\n                \"command\": {\n                    \"command_id\": 1,\n                    \"command_name\": \"ping\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 4,\n                \"timestamp\": \"2019-11-25 20:46:41.098000\",\n                \"command\": {\n                    \"command_id\": 2,\n                    \"command_name\": \"get-hk\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 5,\n                \"timestamp\": \"2019-11-25 20:50:53.318000\",\n                \"command\": {\n                    \"command_id\": 6,\n                    \"command_name\": \"upload-fs\",\n                    \"num_arguments\": 0,\n                    \"is_dangerous\": false\n                },\n                \"args\": []\n            },\n            {\n                \"flightschedule_command_id\": 6,\n                \"timestamp\": \"2019-11-25 20:51:43.457000\",\n                \"command\": {\n                    \"command_id\": 4,\n                    \"command_name\": \"turn-off\",\n                    \"num_arguments\": 1,\n                    \"is_dangerous\": true\n                },\n                \"args\": [\n                    {\n                        \"index\": 0,\n                        \"argument\": \"5\"\n                    }\n                ]\n            }\n        ]\n    }\n}"},{"id":"f6d25d26-ef1a-4841-b65b-b967e1a04df9","name":"Not logged in / Not authenticated","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer ","type":"text","disabled":true},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"status\": 2, \n    \"execution_time\": \"2019-11-27T20:43:00\", \n    \"commands\": [\n        {\n            \"flightschedule_command_id\": 1, \n            \"timestamp\": \"2019-11-27 20:43:00\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 2, \n            \"timestamp\": \"2019-11-27 20:44:10.457000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 3, \n            \"timestamp\": \"2019-11-27 20:45:20.471000\", \n            \"command\": {\n                \"command_id\": 1, \n                \"command_name\": \"ping\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 4, \n            \"timestamp\": \"2019-11-27 20:46:34.446000\", \n            \"command\": {\n                \"command_id\": 2, \n                \"command_name\": \"get-hk\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"none\"\n        }, \n        {\n            \"flightschedule_command_id\": 5, \n            \"timestamp\": \"2019-11-27 20:50:46.666000\", \n            \"command\": {\n                \"command_id\": 6, \n                \"command_name\": \"upload-fs\", \n                \"num_arguments\": 0, \n                \"is_dangerous\": false\n            }, \n            \"args\": [], \n            \"op\": \"remove\"\n        }, \n        {\n            \"flightschedule_command_id\": 6, \n            \"timestamp\": \"2019-11-27 20:51:36.805000\", \n            \"command\": {\n                \"command_id\": 4, \n                \"command_name\": \"turn-off\", \n                \"num_arguments\": 1, \n                \"is_dangerous\": true\n            }, \n            \"args\": [\n                {\n                    \"index\": 0, \n                    \"argument\": \"5\"\n                }\n            ], \n            \"op\": \"replace\"\n        }, \n        {\n            \"command\": {\n                \"command_id\": 6, \n                \"command_name\": \"upload-fs\"\n            }, \n            \"timestamp\": \"2019-11-27T20:52:40.000Z\", \n            \"args\": [], \n            \"op\": \"add\"\n        }\n    ]\n}"},"url":{"raw":"http://127.0.0.1:5000/api/flightschedules/:flightschedule_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","flightschedules",":flightschedule_id"],"variable":[{"key":"flightschedule_id","value":"1"}]}},"status":"UNAUTHORIZED","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"71"},{"key":"WWW-Authenticate","value":"Bearer"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 04:56:07 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"Provide a valid auth token.\"\n}"}],"_postman_id":"66a3c2e6-799b-4f7b-b208-49efd33abd98"}],"id":"14ddcc7f-b73c-4c97-9dde-6a1d458bf5ee","description":"<p>These are the backend API endpoints involved with the Flight Scheduling system.</p>\n","event":[{"listen":"prerequest","script":{"id":"9359fc5c-75df-4b34-9b1d-80eda3f1dba9","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"d91ab774-3546-46e4-961a-4cbc2c5a5a55","type":"text/javascript","exec":[""]}}],"_postman_id":"14ddcc7f-b73c-4c97-9dde-6a1d458bf5ee"},{"name":"housekeeping","item":[{"name":"Get all Housekeeping Logs in a list","id":"1a1327bd-4c48-4b2b-83c4-1492fc2d5602","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:5000/api/housekeepinglog","description":"<p>Gets all the housekeeping logs from the database in a list.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","housekeepinglog"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[{"id":"9ccc2415-0b97-4a64-9122-e3e33a57cc1a","name":"Multiple Housekeeping Logs Present","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:5000/api/housekeepinglog"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"1820"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Mon, 25 Nov 2019 02:29:40 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"logs\": [\n            {\n                \"id\": 1,\n                \"satellite_mode\": \"Passive\",\n                \"battery_voltage\": 1.7,\n                \"current_in\": 1.2,\n                \"current_out\": 1.1,\n                \"no_MCU_resets\": 14,\n                \"last_beacon_time\": \"2019-10-10 17:17:52\",\n                \"watchdog_1\": 6000,\n                \"watchdog_2\": 11,\n                \"watchdog_3\": 0,\n                \"panel_1_current\": 1.1,\n                \"panel_2_current\": 1,\n                \"panel_3_current\": 1.2,\n                \"panel_4_current\": 1,\n                \"panel_5_current\": 1,\n                \"panel_6_current\": 1,\n                \"temp_1\": 11,\n                \"temp_2\": 11,\n                \"temp_3\": 14,\n                \"temp_4\": 12,\n                \"temp_5\": 11,\n                \"temp_6\": 10,\n                \"channels\": []\n            },\n            {\n                \"id\": 2,\n                \"satellite_mode\": \"Passive\",\n                \"battery_voltage\": 1.7,\n                \"current_in\": 1.2,\n                \"current_out\": 1.1,\n                \"no_MCU_resets\": 14,\n                \"last_beacon_time\": \"2019-10-10 17:17:52\",\n                \"watchdog_1\": 6000,\n                \"watchdog_2\": 11,\n                \"watchdog_3\": 0,\n                \"panel_1_current\": 1.1,\n                \"panel_2_current\": 1,\n                \"panel_3_current\": 1.2,\n                \"panel_4_current\": 1,\n                \"panel_5_current\": 1,\n                \"panel_6_current\": 1,\n                \"temp_1\": 11,\n                \"temp_2\": 11,\n                \"temp_3\": 14,\n                \"temp_4\": 12,\n                \"temp_5\": 11,\n                \"temp_6\": 10,\n                \"channels\": []\n            }\n        ]\n    }\n}"},{"id":"b79dca54-e44a-4554-87d7-2a0fef5bb986","name":"One Housekeeping Log Present","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:5000/api/housekeepinglog"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"948"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Fri, 22 Nov 2019 22:01:37 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"logs\": [\n            {\n                \"id\": 1,\n                \"satellite_mode\": \"Passive\",\n                \"battery_voltage\": 1.7,\n                \"current_in\": 1.2,\n                \"current_out\": 1.1,\n                \"no_MCU_resets\": 14,\n                \"last_beacon_time\": \"2019-10-10 17:17:52\",\n                \"watchdog_1\": 6000,\n                \"watchdog_2\": 11,\n                \"watchdog_3\": 0,\n                \"panel_1_current\": 1.1,\n                \"panel_2_current\": 1,\n                \"panel_3_current\": 1.2,\n                \"panel_4_current\": 1,\n                \"panel_5_current\": 1,\n                \"panel_6_current\": 1,\n                \"temp_1\": 11,\n                \"temp_2\": 11,\n                \"temp_3\": 14,\n                \"temp_4\": 12,\n                \"temp_5\": 11,\n                \"temp_6\": 10,\n                \"channels\": []\n            }\n        ]\n    }\n}"},{"id":"ff225de1-714e-4c01-8c52-d95663753e7e","name":"There are no Housekeeping Logs","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:5000/api/housekeepinglog"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"68"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Mon, 25 Nov 2019 21:17:19 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"logs\": []\n    }\n}"}],"_postman_id":"1a1327bd-4c48-4b2b-83c4-1492fc2d5602"},{"name":"Post a new Housekeeping Log","id":"a8863b02-e8d6-4fe4-8820-6e8573f2afce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"satellite_mode\": \"Passive\",\n    \"battery_voltage\": 1.7,\n    \"current_in\": 1.2,\n    \"current_out\": 1.1,\n    \"no_MCU_resets\": 14,\n    \"last_beacon_time\": \"2019-10-10 17:18:52\",\n    \"watchdog_1\": 6000,\n    \"watchdog_2\": 11,\n    \"watchdog_3\": 0,\n    \"panel_1_current\": 1.1,\n    \"panel_2_current\": 1,\n    \"panel_3_current\": 1.2,\n    \"panel_4_current\": 1,\n    \"panel_5_current\": 1,\n    \"panel_6_current\": 1,\n    \"temp_1\": 11,\n    \"temp_2\": 11,\n    \"temp_3\": 14,\n    \"temp_4\": 12,\n    \"temp_5\": 11,\n    \"temp_6\": 10,\n    \"channels\": [\n        {\n            \"channel_no\": 1,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 2,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 3,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 4,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 5,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 6,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 7,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 8,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 9,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 10,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 11,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 12,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 13,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 14,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 15,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 16,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 17,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 18,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 19,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 20,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 21,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 22,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 23,\n            \"enabled\": \"True\",\n            \"current\": 0\n        },\n        {\n            \"channel_no\": 24,\n            \"enabled\": \"True\",\n            \"current\": 0\n        }\n    ]\n}"},"url":"http://127.0.0.1:5000/api/housekeepinglog","description":"<p>Posts a new housekeeping log to the database. \nPopulating the power channels list is technically optional. In the JSON you can instead just write it like this: <code>\"channels\": []</code></p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","housekeepinglog"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[{"id":"55428fe3-4b17-4f93-8cf2-e750176f552f","name":"Not logged in / Not authenticated","originalRequest":{"method":"POST","header":[{"key":"Content","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer ","description":"jwt_token is a global variable\n","type":"text","disabled":true},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"satellite_mode\": \"Passive\",\n    \"battery_voltage\": 1.7,\n    \"current_in\": 1.2,\n    \"current_out\": 1.1,\n    \"no_MCU_resets\": 14,\n    \"last_beacon_time\": \"2019-10-10 17:18:52\",\n    \"watchdog_1\": 6000,\n    \"watchdog_2\": 11,\n    \"watchdog_3\": 0,\n    \"panel_1_current\": 1.1,\n    \"panel_2_current\": 1.0,\n    \"panel_3_current\": 1.2,\n    \"panel_4_current\": 1.0,\n    \"panel_5_current\": 1.0,\n    \"panel_6_current\": 1.0,\n    \"temp_1\": 11.0,\n    \"temp_2\": 11.0,\n    \"temp_3\": 14.0,\n    \"temp_4\": 12.0,\n    \"temp_5\": 11.0,\n    \"temp_6\": 10.0,\n    \"channels\": [\n    \t{\n        \t\"channel_no\": 1,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 2,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 3,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 4,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 5,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 6,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 7,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 8,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 9,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 10,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 11,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 12,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 13,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 14,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 15,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 16,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 17,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 18,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 19,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 20,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 21,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 22,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 23,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 24,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t}\n    ]\n}"},"url":"http://127.0.0.1:5000/api/housekeepinglog"},"status":"UNAUTHORIZED","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"71"},{"key":"WWW-Authenticate","value":"Bearer"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Mon, 25 Nov 2019 19:52:35 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"Provide a valid auth token.\"\n}"},{"id":"a2ef3b2a-3087-46ed-855d-fe4f27f13b20","name":"Successful post of a new housekeeping log","originalRequest":{"method":"POST","header":[{"key":"Content","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer ","description":"Replace  with your JWT token.","type":"text"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"satellite_mode\": \"Passive\",\n    \"battery_voltage\": 1.7,\n    \"current_in\": 1.2,\n    \"current_out\": 1.1,\n    \"no_MCU_resets\": 14,\n    \"last_beacon_time\": \"2019-10-10 17:18:52\",\n    \"watchdog_1\": 6000,\n    \"watchdog_2\": 11,\n    \"watchdog_3\": 0,\n    \"panel_1_current\": 1.1,\n    \"panel_2_current\": 1.0,\n    \"panel_3_current\": 1.2,\n    \"panel_4_current\": 1.0,\n    \"panel_5_current\": 1.0,\n    \"panel_6_current\": 1.0,\n    \"temp_1\": 11.0,\n    \"temp_2\": 11.0,\n    \"temp_3\": 14.0,\n    \"temp_4\": 12.0,\n    \"temp_5\": 11.0,\n    \"temp_6\": 10.0,\n    \"channels\": [\n    \t{\n        \t\"channel_no\": 1,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 2,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 3,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 4,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 5,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 6,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 7,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 8,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 9,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 10,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 11,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 12,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 13,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 14,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 15,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 16,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 17,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 18,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 19,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 20,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 21,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 22,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 23,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 24,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t}\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:5000/api/housekeepinglog"},"status":"CREATED","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"109"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Mon, 25 Nov 2019 17:46:51 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"Housekeeping Log with timestamp 2019-10-10 17:18:52 was added!\"\n}"},{"id":"a3336314-7577-449f-9caf-350b9f37807f","name":"Problem with the new Housekeeping log","originalRequest":{"method":"POST","header":[{"key":"Content","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer ","description":"jwt_token is a global variable\n","type":"text"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"artificial_intelligence\": \"Passive\",\n    \"battery_voltage\": 1.7,\n    \"current_in\": 1.2,\n    \"current_out\": 1.1,\n    \"no_MCU_resets\": 14,\n    \"last_beacon_time\": \"2019-10-10 17:18:52\",\n    \"watchdog_1\": 6000,\n    \"watchdog_2\": 11,\n    \"watchdog_3\": 0,\n    \"panel_1_current\": 1.1,\n    \"panel_2_current\": 1.0,\n    \"panel_3_current\": 1.2,\n    \"panel_4_current\": 1.0,\n    \"panel_5_current\": 1.0,\n    \"panel_6_current\": 1.0,\n    \"temp_1\": 11.0,\n    \"temp_2\": 11.0,\n    \"temp_3\": 14.0,\n    \"temp_4\": 12.0,\n    \"temp_5\": 11.0,\n    \"temp_6\": 10.0,\n    \"channels\": [\n    \t{\n        \t\"channel_no\": 1,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 2,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 3,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 4,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 5,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 6,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 7,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 8,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 9,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 10,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 11,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 12,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 13,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 14,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 15,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 16,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 17,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 18,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 19,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 20,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 21,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 22,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 23,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t},\n    \t{\n        \t\"channel_no\": 24,\n\t        \"enabled\": \"True\",\n\t        \"current\": 0.0\n    \t}\n    ]\n}"},"url":"http://127.0.0.1:5000/api/housekeepinglog"},"status":"BAD REQUEST","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"158"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Mon, 25 Nov 2019 20:00:40 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"Invalid payload\",\n    \"errors\": {\n        \"artificial_intelligence\": [\n            \"Unknown field.\"\n        ]\n    }\n}"}],"_postman_id":"a8863b02-e8d6-4fe4-8820-6e8573f2afce"},{"name":"Get a single Housekeeping Log","id":"04e2d487-3c4c-4a6a-957a-c8d369cd1cad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:5000/api/housekeepinglog/:housekeeping_id","description":"<p>Gets the log with the id that matches <code>housekeeping_id</code></p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","housekeepinglog",":housekeeping_id"],"host":["127","0","0","1"],"query":[],"variable":[{"description":{"content":"<p>The <code>housekeeping_id</code> is the id of the housekeeping log that you want to get.</p>\n","type":"text/plain"},"type":"string","value":"1","key":"housekeeping_id"}]}},"response":[{"id":"26377450-f119-473b-9ac5-bf8057c9cb20","name":"Failed to get the log; a log with that id doesn't exist","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1:5000/api/housekeepinglog/:housekeeping_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","housekeepinglog",":housekeeping_id"],"variable":[{"key":"housekeeping_id","value":"0","description":"The `value` is the id of the housekeeping log that you want to get."}]}},"status":"NOT FOUND","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"75"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Mon, 25 Nov 2019 20:14:50 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"Housekeeping Log does not exist\"\n}"},{"id":"d7835e17-321d-419e-8f26-8e4f62d6ab34","name":"Successfully got the housekeeping log","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1:5000/api/housekeepinglog/:housekeeping_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","housekeepinglog",":housekeeping_id"],"variable":[{"key":"housekeeping_id","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"708"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Mon, 25 Nov 2019 20:10:48 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"id\": 1,\n        \"satellite_mode\": \"Passive\",\n        \"battery_voltage\": 1.7,\n        \"current_in\": 1.2,\n        \"current_out\": 1.1,\n        \"no_MCU_resets\": 14,\n        \"last_beacon_time\": \"2019-10-10 17:17:52\",\n        \"watchdog_1\": 6000,\n        \"watchdog_2\": 11,\n        \"watchdog_3\": 0,\n        \"panel_1_current\": 1.1,\n        \"panel_2_current\": 1,\n        \"panel_3_current\": 1.2,\n        \"panel_4_current\": 1,\n        \"panel_5_current\": 1,\n        \"panel_6_current\": 1,\n        \"temp_1\": 11,\n        \"temp_2\": 11,\n        \"temp_3\": 14,\n        \"temp_4\": 12,\n        \"temp_5\": 11,\n        \"temp_6\": 10,\n        \"channels\": []\n    }\n}"}],"_postman_id":"04e2d487-3c4c-4a6a-957a-c8d369cd1cad"}],"id":"19a4866f-019e-4383-bd49-9b4fc1674b24","description":"<p>These are the requests concerning housekeeping logs.</p>\n","event":[{"listen":"prerequest","script":{"id":"6ae8f9bd-32d1-483b-b3e4-92a08443b1b6","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a4122d5c-1cb0-4b71-9c08-f3993333994d","type":"text/javascript","exec":[""]}}],"_postman_id":"19a4866f-019e-4383-bd49-9b4fc1674b24"},{"name":"passover","item":[{"name":"Get All Passovers","id":"4fab3b89-5bf5-40cc-9f2d-79e43b4da5a4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:5000/api/passovers","description":"<p>Gets all the Passovers stored in the database and returns them in a list.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","passovers"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[{"id":"e8f07dd6-a0a6-4e00-aa43-65083afab8fb","name":"Successfully got all Passovers","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:5000/api/passovers"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"2512"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 05:36:13 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"passovers\": [\n            {\n                \"passover_id\": 1,\n                \"timestamp\": \"2019-11-27 05:34:57.729066\"\n            },\n            {\n                \"passover_id\": 2,\n                \"timestamp\": \"2019-11-27 05:40:07.729066\"\n            },\n            {\n                \"passover_id\": 3,\n                \"timestamp\": \"2019-11-27 05:45:07.729066\"\n            },\n            {\n                \"passover_id\": 4,\n                \"timestamp\": \"2019-11-27 05:50:07.729066\"\n            },\n            {\n                \"passover_id\": 5,\n                \"timestamp\": \"2019-11-27 05:55:07.729066\"\n            },\n            {\n                \"passover_id\": 6,\n                \"timestamp\": \"2019-11-27 06:00:07.729066\"\n            },\n            {\n                \"passover_id\": 7,\n                \"timestamp\": \"2019-11-27 06:05:07.729066\"\n            },\n            {\n                \"passover_id\": 8,\n                \"timestamp\": \"2019-11-27 06:10:07.729066\"\n            },\n            {\n                \"passover_id\": 9,\n                \"timestamp\": \"2019-11-27 06:15:07.729066\"\n            },\n            {\n                \"passover_id\": 10,\n                \"timestamp\": \"2019-11-27 06:20:07.729066\"\n            },\n            {\n                \"passover_id\": 11,\n                \"timestamp\": \"2019-11-27 06:25:07.729066\"\n            },\n            {\n                \"passover_id\": 12,\n                \"timestamp\": \"2019-11-27 06:30:07.729066\"\n            },\n            {\n                \"passover_id\": 13,\n                \"timestamp\": \"2019-11-27 06:35:07.729066\"\n            },\n            {\n                \"passover_id\": 14,\n                \"timestamp\": \"2019-11-27 06:40:07.729066\"\n            },\n            {\n                \"passover_id\": 15,\n                \"timestamp\": \"2019-11-27 06:45:07.729066\"\n            },\n            {\n                \"passover_id\": 16,\n                \"timestamp\": \"2019-11-27 06:50:07.729066\"\n            },\n            {\n                \"passover_id\": 17,\n                \"timestamp\": \"2019-11-27 06:55:07.729066\"\n            },\n            {\n                \"passover_id\": 18,\n                \"timestamp\": \"2019-11-27 07:00:07.729066\"\n            },\n            {\n                \"passover_id\": 19,\n                \"timestamp\": \"2019-11-27 07:05:07.729066\"\n            },\n            {\n                \"passover_id\": 20,\n                \"timestamp\": \"2019-11-27 07:10:07.729066\"\n            }\n        ]\n    }\n}"}],"_postman_id":"4fab3b89-5bf5-40cc-9f2d-79e43b4da5a4"},{"name":"Get Next Passover","id":"1999e1f9-0813-4493-8bfe-42054dc94a36","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:5000/api/passovers?next=true&limit=1","description":"<p>Gets only the next passover. Note that the <code>next</code> and <code>limit</code> parameters can be modified, but getting just the next immediate passover is satisfactory.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","passovers"],"host":["127","0","0","1"],"query":[{"key":"next","value":"true"},{"key":"limit","value":"1"}],"variable":[]}},"response":[{"id":"f43e075e-67f3-40fe-97c9-925365f6c6cd","name":"Got Next Passover","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1:5000/api/passovers?next=true&limit=1","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","passovers"],"query":[{"key":"next","value":"true"},{"key":"limit","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"207"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 05:36:23 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"next_passovers\": [\n            {\n                \"passover_id\": 2,\n                \"timestamp\": \"2019-11-27 05:40:07.729066\"\n            }\n        ]\n    }\n}"}],"_postman_id":"1999e1f9-0813-4493-8bfe-42054dc94a36"},{"name":"Post new Passovers","id":"4ad56865-2489-4f2d-bf35-0ee1f55d9117","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"passovers\":[\n\t\t{\"timestamp\":\"2019-12-06 17:17:52\"},\n\t\t{\"timestamp\":\"2019-12-07 17:17:52\"},\n\t\t{\"timestamp\":\"2019-12-08 17:17:52\"},\n\t\t{\"timestamp\":\"2019-12-09 17:17:52\"},\n\t\t{\"timestamp\":\"2019-12-10 17:17:52\"}\n\t]\n}"},"url":"http://127.0.0.1:5000/api/passovers","description":"<p>Posts a list of passovers, or alternatively a list of just one passover.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","passovers"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[{"id":"5b894d3c-dbbd-407c-81fc-44f44e7f2b63","name":"Not logged in / Not authenticated","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text","disabled":true},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"passovers\":[\n\t\t{\"timestamp\":\"2019-12-06 17:17:52\"},\n\t\t{\"timestamp\":\"2019-12-07 17:17:52\"},\n\t\t{\"timestamp\":\"2019-12-08 17:17:52\"},\n\t\t{\"timestamp\":\"2019-12-09 17:17:52\"},\n\t\t{\"timestamp\":\"2019-12-10 17:17:52\"}\n\t]\n}"},"url":"http://127.0.0.1:5000/api/passovers"},"status":"UNAUTHORIZED","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"71"},{"key":"WWW-Authenticate","value":"Bearer"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 06:00:38 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"Provide a valid auth token.\"\n}"},{"id":"6ab8c2db-c3b1-4dc6-9d32-c62895a8c9e3","name":"Successfully Posted the new Passovers","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"passovers\":[\n\t\t{\"timestamp\":\"2019-12-06 17:17:52\"},\n\t\t{\"timestamp\":\"2019-12-07 17:17:52\"},\n\t\t{\"timestamp\":\"2019-12-08 17:17:52\"},\n\t\t{\"timestamp\":\"2019-12-09 17:17:52\"},\n\t\t{\"timestamp\":\"2019-12-10 17:17:52\"}\n\t]\n}"},"url":"http://127.0.0.1:5000/api/passovers"},"status":"CREATED","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"82"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 05:53:35 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"Passovers were successfully created\"\n}"},{"id":"f9fd17b4-cb03-4af1-bb70-33d7d720acbb","name":"Failed to Post (Invalid data)","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"passovers\":[\n\t\t{\"timestamp\":\"2019-12-06 17:17:52\"},\n\t\t{\"timestamp\":\"2019-12-07 17:17:52\"},\n\t\t{\"timestamp\":\"2019-12-08 17:17:52\"},\n\t\t{\"timestamp\":\"2019-12-09 17:17:52\"},\n\t\t{\"\":\"2019-12-10 17:1\"}\n\t]\n}"},"url":"http://127.0.0.1:5000/api/passovers"},"status":"BAD REQUEST","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"344"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 05:56:13 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"The posted data is not valid!\",\n    \"errors\": {\n        \"passovers\": {\n            \"4\": {\n                \"timestamp\": [\n                    \"Missing data for required field.\"\n                ],\n                \"\": [\n                    \"Unknown field.\"\n                ]\n            }\n        }\n    }\n}"}],"_postman_id":"4ad56865-2489-4f2d-bf35-0ee1f55d9117"}],"id":"3a75df3b-4c6f-43ea-a8a2-ce293c090fb6","description":"<p>These are the requests concerning the Passovers portion of the API.</p>\n","event":[{"listen":"prerequest","script":{"id":"9fd1f32b-e22a-4e03-a4fe-a06565d4355a","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"630c1308-9e34-4b0e-a579-4e7235f7f7dd","type":"text/javascript","exec":[""]}}],"_postman_id":"3a75df3b-4c6f-43ea-a8a2-ce293c090fb6"},{"name":"telecommand","item":[{"name":"Get all Telecommands","id":"9aebcd79-9bf9-4bde-8b0e-418ba146af0c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:5000/api/telecommands","description":"<p>Gets all the telecommands from the database in a list. Theses telecommands in the database are the possible commands that can be executed by the satellite. Every Flight Schedule command must have a telecommand (note the JSON output in <code>flightschedule</code>). So, this list of telecommands is used by other parts of the API as a reference for what telecommands are possible. That means this list shouldn't change unless a new kind of telecommand has been added.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","telecommands"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[{"id":"f5d026d5-3342-44ea-8aec-492be9a28098","name":"Successfully got all Telecommands","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:5000/api/telecommands"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"1193"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Wed, 27 Nov 2019 23:44:18 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"returned all commands\",\n    \"data\": {\n        \"telecommands\": [\n            {\n                \"command_id\": 1,\n                \"command_name\": \"ping\",\n                \"num_arguments\": 0,\n                \"is_dangerous\": false\n            },\n            {\n                \"command_id\": 2,\n                \"command_name\": \"get-hk\",\n                \"num_arguments\": 0,\n                \"is_dangerous\": false\n            },\n            {\n                \"command_id\": 3,\n                \"command_name\": \"turn-on\",\n                \"num_arguments\": 1,\n                \"is_dangerous\": true\n            },\n            {\n                \"command_id\": 4,\n                \"command_name\": \"turn-off\",\n                \"num_arguments\": 1,\n                \"is_dangerous\": true\n            },\n            {\n                \"command_id\": 5,\n                \"command_name\": \"set-fs\",\n                \"num_arguments\": 1,\n                \"is_dangerous\": true\n            },\n            {\n                \"command_id\": 6,\n                \"command_name\": \"upload-fs\",\n                \"num_arguments\": 0,\n                \"is_dangerous\": false\n            }\n        ]\n    }\n}"}],"_postman_id":"9aebcd79-9bf9-4bde-8b0e-418ba146af0c"},{"name":"Post a new Telecommand","id":"b3d81946-96ac-439b-be7c-92a90cd9c2ee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer "},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"command_name\": \"self-destruct\",\n    \"num_arguments\": 1,\n    \"is_dangerous\": true\n}"},"url":"http://127.0.0.1:5000/api/telecommands","description":"<p>This POST will add a new type of telecommand to the database.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","telecommands"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[{"id":"69f1c88e-48b1-4ff0-81a9-4915ac278a79","name":"Failed to post a new Telecommand (invalid data)","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer "},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"num_arguments\": 1,\n    \"is_dangerous\": true\n}"},"url":"http://127.0.0.1:5000/api/telecommands"},"status":"BAD REQUEST","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"179"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Thu, 28 Nov 2019 00:12:29 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"The posted data is not valid!\",\n    \"errors\": {\n        \"command_name\": [\n            \"Missing data for required field.\"\n        ]\n    }\n}"},{"id":"ad9c93f0-9d31-45c2-b329-57da44f7deb8","name":"Successfully added a new Telecommand","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer "},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"command_name\": \"self-destruct\",\n    \"num_arguments\": 1,\n    \"is_dangerous\": true\n}"},"url":"http://127.0.0.1:5000/api/telecommands"},"status":"CREATED","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"208"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Thu, 28 Nov 2019 00:11:05 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"Command was added\",\n    \"data\": {\n        \"command_id\": 7,\n        \"command_name\": \"self-destruct\",\n        \"num_arguments\": 1,\n        \"is_dangerous\": true\n    }\n}"}],"_postman_id":"b3d81946-96ac-439b-be7c-92a90cd9c2ee"},{"name":"Get a single Telecommand","id":"b662f3e7-a173-49af-af24-faf5f87f382d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:5000/api/telecommands/:telecommand_id","description":"<p>Gets a single Telecommand from the database with matching <code>telecommand_id</code></p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","telecommands",":telecommand_id"],"host":["127","0","0","1"],"query":[],"variable":[{"type":"string","value":"1","key":"telecommand_id"}]}},"response":[{"id":"df136920-fcd3-480e-9aec-3705cd4efd55","name":"Failed to get Telecommand with a matching id (does not exist)","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1:5000/api/telecommands/:telecommand_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","telecommands",":telecommand_id"],"variable":[{"key":"telecommand_id","value":"0","description":"Note that id's start at 1 and count up in whole integers."}]}},"status":"NOT FOUND","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"70"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Thu, 28 Nov 2019 00:16:04 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"telecommand does not exist\"\n}"},{"id":"e5cf3a71-4d45-4c92-ac27-eb2ceb54c913","name":"Successfully got a Telecommand with a matching id","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1:5000/api/telecommands/:telecommand_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","telecommands",":telecommand_id"],"variable":[{"key":"telecommand_id","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"164"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Thu, 28 Nov 2019 00:15:18 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"command_id\": 1,\n        \"command_name\": \"ping\",\n        \"num_arguments\": 0,\n        \"is_dangerous\": false\n    }\n}"}],"_postman_id":"b662f3e7-a173-49af-af24-faf5f87f382d"}],"id":"80a5c9f7-7f73-49b3-af54-758737013c36","description":"<p>These requests detail the endpoints that can be used to interact with Telecommands.</p>\n","event":[{"listen":"prerequest","script":{"id":"8f810258-3c72-47e7-902b-21042e307bca","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"d2e57622-9004-4ed2-85b8-16534371276e","type":"text/javascript","exec":[""]}}],"_postman_id":"80a5c9f7-7f73-49b3-af54-758737013c36"},{"name":"user","item":[{"name":"Post a new User","id":"63f5bc05-6bba-4b3b-8926-ff4c7e51cb48","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"username\": \"josh\",\n\t\"password\": \"aroundtheworld\"\n}"},"url":"http://127.0.0.1:5000/api/users","description":"<p>Posts a new user to the database. By default, this user is an Operator (permissions to operate the satellite); however, there is a flag in the post data to set the new user as an Admin. An Admin has permissions to add new users. By default if you do not include <code>is_admin</code> in the post data, the new user will not be an Admin.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","users"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[{"id":"52d8e13b-10b8-48aa-a2aa-eede05f67150","name":"Not logged in / Not authenticated","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text","disabled":true},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"username\": \"josh\",\n\t\"password\": \"aroundtheworld\"\n}"},"url":"http://127.0.0.1:5000/api/users"},"status":"UNAUTHORIZED","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"71"},{"key":"WWW-Authenticate","value":"Bearer"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Thu, 28 Nov 2019 01:00:12 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"Provide a valid auth token.\"\n}"},{"id":"6bc2c966-d09b-4412-bee7-4dbc65257653","name":"Successfully posted a new User","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"username\": \"josh\",\n\t\"password\": \"aroundtheworld\"\n}"},"url":"http://127.0.0.1:5000/api/users"},"status":"CREATED","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"139"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Thu, 28 Nov 2019 00:59:19 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"User was successfully added\",\n    \"data\": {\n        \"id\": 4,\n        \"username\": \"josh\"\n    }\n}"},{"id":"b8990934-c1b6-4486-b474-d4ca0c0b2e06","name":"Failed to post a new User (invalid data)","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"username\": \"josh\",\n\t\"password\": \"aroundtheworld\",\n\t\"is_admin\": false\n}"},"url":"http://127.0.0.1:5000/api/users"},"status":"BAD REQUEST","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"157"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Thu, 28 Nov 2019 00:58:03 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"The posted data is not valid!\",\n    \"errors\": {\n        \"is_admin\": [\n            \"Unknown field.\"\n        ]\n    }\n}"},{"id":"d3f281db-44ff-4418-83e2-85234032d08e","name":"Failed to post a new User (not an Admin)","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"username\": \"josh\",\n\t\"password\": \"aroundtheworld\",\n\t\"is_admin\": false\n}"},"url":"http://127.0.0.1:5000/api/users"},"status":"FORBIDDEN","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"87"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Thu, 28 Nov 2019 00:56:31 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to create users.\"\n}"}],"_postman_id":"63f5bc05-6bba-4b3b-8926-ff4c7e51cb48"},{"name":"Get a User","id":"1fb1113f-04fa-419a-b962-7b487c583dd7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:5000/api/users/:user_id","description":"<p>Gets a particular User from the database.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","users",":user_id"],"host":["127","0","0","1"],"query":[],"variable":[{"type":"string","value":"1","key":"user_id"}]}},"response":[{"id":"20098246-a83d-44e8-b58a-124f8a51cc9b","name":"Successfully got a User (2)","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1:5000/api/users/:user_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","users",":user_id"],"variable":[{"key":"user_id","value":"4"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"140"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Thu, 28 Nov 2019 01:03:49 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"User was successfully found.\",\n    \"data\": {\n        \"id\": 4,\n        \"username\": \"josh\"\n    }\n}"},{"id":"47ae9ede-20c9-4121-8545-6dd5f48e8db6","name":"Failed to get a User (does not exist)","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1:5000/api/users/:user_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","users",":user_id"],"variable":[{"key":"user_id","value":"0"}]}},"status":"NOT FOUND","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"82"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Thu, 28 Nov 2019 01:04:41 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"fail\",\n    \"message\": \"User does not exist.\",\n    \"data\": null\n}"},{"id":"8b2c8c88-cf31-411f-8945-1721e2682360","name":"Successfully got a User (1)","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1:5000/api/users/:user_id","protocol":"http","host":["127","0","0","1"],"port":"5000","path":["api","users",":user_id"],"variable":[{"key":"user_id","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"146"},{"key":"Server","value":"Werkzeug/0.16.0 Python/3.7.5rc1"},{"key":"Date","value":"Thu, 28 Nov 2019 01:03:03 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"User was successfully found.\",\n    \"data\": {\n        \"id\": 1,\n        \"username\": \"Admin_user\"\n    }\n}"}],"_postman_id":"1fb1113f-04fa-419a-b962-7b487c583dd7"}],"id":"71d4bcdc-7d3a-4f9e-bdad-f80ec7ba8a93","description":"<p>These requests detail the backend API for users, whom have special permissions (aka <em>Operators</em>).</p>\n","event":[{"listen":"prerequest","script":{"id":"e261c0e7-19f8-4a23-bce6-a2ede9fba75a","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"38715164-254d-4643-9cd1-f447c2b5f0db","type":"text/javascript","exec":[""]}}],"_postman_id":"71d4bcdc-7d3a-4f9e-bdad-f80ec7ba8a93"}],"event":[{"listen":"prerequest","script":{"id":"9a71316a-8ab0-4c93-b680-ee3e520918cc","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"7f0477a9-6e94-4bd6-bea1-5b9e4592334a","type":"text/javascript","exec":[""]}}],"variable":[{"key":"jwt_token","value":""}]}