|
- {
- "openapi": "3.0.0",
- "info": {
- "title": "RES LEVIS API",
- "description": "API for RES LEVIS project",
- "contact": {
- "email": "info@reslevis.com"
- },
- "license": {
- "name": "Apache 2.0",
- "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
- },
- "version": "1.0.4"
- },
- "servers": [
- {
- "url": "https://192.168.1.3:5050/reslevis",
- "description": "Res Levis API Server"
- },
- {
- "url": "https://webhook.site/014887a9-bfa4-48a8-a349-935d8f8f8096",
- "description": "Res Levis Webhook"
- }
- ],
- "tags": [
- {
- "name": "Admins",
- "description": "Secured Admin-only calls"
- },
- {
- "name": "Developers",
- "description": "Operations available to regular developers"
- }
- ],
- "paths": {
- "/getBuildings": {
- "get": {
- "tags": [
- "Developers"
- ],
- "summary": "Get the buildings",
- "description": "Get the buildings\n",
- "operationId": "getBuildings",
- "parameters": [
- {
- "name": "id",
- "in": "query",
- "description": "id of the item to get",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "searchString",
- "in": "query",
- "description": "pass an optional search string for looking up inventory",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "skip",
- "in": "query",
- "description": "number of records to skip for pagination",
- "required": false,
- "schema": {
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- },
- {
- "name": "limit",
- "in": "query",
- "description": "maximum number of records to return",
- "required": false,
- "schema": {
- "maximum": 1000,
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "search results matching criteria",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/BuildingItem"
- }
- }
- }
- }
- },
- "400": {
- "description": "bad input parameter"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/postBuilding": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Post a building item",
- "description": "Post a building",
- "operationId": "postBuilding",
- "requestBody": {
- "description": "plan item",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/BuildingItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item created"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "an existing item already exists"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/removeBuilding": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Remove a building item",
- "description": "Remove a building",
- "operationId": "removeBuilding",
- "requestBody": {
- "description": "plan item",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/removeItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item removed"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "the item can't be removed"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/getPlans": {
- "get": {
- "tags": [
- "Developers"
- ],
- "summary": "Get the plans",
- "description": "Get the plans\n",
- "operationId": "getPlans",
- "parameters": [
- {
- "name": "id",
- "in": "query",
- "description": "id of the item to get",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "searchString",
- "in": "query",
- "description": "pass an optional search string for looking up inventory",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "skip",
- "in": "query",
- "description": "number of records to skip for pagination",
- "required": false,
- "schema": {
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- },
- {
- "name": "limit",
- "in": "query",
- "description": "maximum number of records to return",
- "required": false,
- "schema": {
- "maximum": 1000,
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "search results matching criteria",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/PlanItem"
- }
- }
- }
- }
- },
- "400": {
- "description": "bad input parameter"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/postPlan": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Post a plan item",
- "description": "Post a plan",
- "operationId": "postPlan",
- "requestBody": {
- "description": "plan item",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PlanItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item created"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "an existing item already exists"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/removePlan": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Remove a plan item",
- "description": "Remove a plan",
- "operationId": "removePlan",
- "requestBody": {
- "description": "plan item",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/removeItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item removed"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "the item can't be removed"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/getZones": {
- "get": {
- "tags": [
- "Developers"
- ],
- "summary": "Get the zones",
- "description": "Get the zones\n",
- "operationId": "getZones",
- "parameters": [
- {
- "name": "id",
- "in": "query",
- "description": "id of the item to get",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "searchString",
- "in": "query",
- "description": "pass an optional search string for looking up inventory",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "skip",
- "in": "query",
- "description": "number of records to skip for pagination",
- "required": false,
- "schema": {
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- },
- {
- "name": "limit",
- "in": "query",
- "description": "maximum number of records to return",
- "required": false,
- "schema": {
- "maximum": 1000,
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "search results matching criteria",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ZoneItem"
- }
- }
- }
- }
- },
- "400": {
- "description": "bad input parameter"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/postZone": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Post a zone item",
- "description": "Post a zone item",
- "operationId": "postZone",
- "requestBody": {
- "description": "zone item",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ZoneItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item created"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "an existing item already exists"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/removeZone": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Remove a plan item",
- "description": "Remove a plan",
- "operationId": "removeZone",
- "requestBody": {
- "description": "zone item to be removed",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/removeItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item removed"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "the item can't be removed"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/getGateways": {
- "get": {
- "tags": [
- "Developers"
- ],
- "summary": "Get the gateways",
- "description": "Get the gateways\n",
- "operationId": "getGateways",
- "parameters": [
- {
- "name": "id",
- "in": "query",
- "description": "id of the item to get",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "searchString",
- "in": "query",
- "description": "pass an optional search string for looking up inventory",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "skip",
- "in": "query",
- "description": "number of records to skip for pagination",
- "required": false,
- "schema": {
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- },
- {
- "name": "limit",
- "in": "query",
- "description": "maximum number of records to return",
- "required": false,
- "schema": {
- "maximum": 1000,
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "search results matching criteria",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/GatewayItem"
- }
- }
- }
- }
- },
- "400": {
- "description": "bad input parameter"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/postGateway": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Post a gateway item",
- "description": "Post a gateway item",
- "operationId": "postGateway",
- "requestBody": {
- "description": "gateway item",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GatewayItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item created"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "an existing item already exists"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/removeGateway": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Remove a gateway item",
- "description": "Remove a gateway",
- "operationId": "removeGateway",
- "requestBody": {
- "description": "gateway item to be removed",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/removeItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item removed"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "the item can't be removed"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/getTrackers": {
- "get": {
- "tags": [
- "Developers"
- ],
- "summary": "Get the trackers",
- "description": "Get the trackers\n",
- "operationId": "getTrackers",
- "parameters": [
- {
- "name": "id",
- "in": "query",
- "description": "id of the item to get",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "searchString",
- "in": "query",
- "description": "pass an optional search string for looking up inventory",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "skip",
- "in": "query",
- "description": "number of records to skip for pagination",
- "required": false,
- "schema": {
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- },
- {
- "name": "limit",
- "in": "query",
- "description": "maximum number of records to return",
- "required": false,
- "schema": {
- "maximum": 1000,
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "search results matching criteria",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TrackerItem"
- }
- }
- }
- }
- },
- "400": {
- "description": "bad input parameter"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/postTracker": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Post a tracker item",
- "description": "Post a tracker item",
- "operationId": "postTracker",
- "requestBody": {
- "description": "tracker item",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TrackerItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item created"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "an existing item already exists"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/removeTracker": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Remove a tracker item",
- "description": "Remove a tracker",
- "operationId": "removeTracker",
- "requestBody": {
- "description": "tracker item to be removed",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/removeItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item removed"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "the item can't be removed"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/getOperators": {
- "get": {
- "tags": [
- "Developers"
- ],
- "summary": "Get the operators",
- "description": "Get the operators\n",
- "operationId": "getOperators",
- "parameters": [
- {
- "name": "id",
- "in": "query",
- "description": "id of the item to get",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "searchString",
- "in": "query",
- "description": "pass an optional search string for looking up inventory",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "skip",
- "in": "query",
- "description": "number of records to skip for pagination",
- "required": false,
- "schema": {
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- },
- {
- "name": "limit",
- "in": "query",
- "description": "maximum number of records to return",
- "required": false,
- "schema": {
- "maximum": 1000,
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "search results matching criteria",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/OperatorItem"
- }
- }
- }
- }
- },
- "400": {
- "description": "bad input parameter"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/postOperator": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Post an operator item",
- "description": "Post an operator item",
- "operationId": "postOperator",
- "requestBody": {
- "description": "operator item",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/OperatorItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item created"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "an existing item already exists"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/removeOperator": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Remove an operator item",
- "description": "Remove an operator",
- "operationId": "removeOperator",
- "requestBody": {
- "description": "operator item to be removed",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/removeItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item removed"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "the item can't be removed"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/getSubjects": {
- "get": {
- "tags": [
- "Developers"
- ],
- "summary": "Get the subjects",
- "description": "Get the subjects\n",
- "operationId": "getSubjects",
- "parameters": [
- {
- "name": "id",
- "in": "query",
- "description": "id of the item to get",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "searchString",
- "in": "query",
- "description": "pass an optional search string for looking up inventory",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "skip",
- "in": "query",
- "description": "number of records to skip for pagination",
- "required": false,
- "schema": {
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- },
- {
- "name": "limit",
- "in": "query",
- "description": "maximum number of records to return",
- "required": false,
- "schema": {
- "maximum": 1000,
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "search results matching criteria",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/SubjectItem"
- }
- }
- }
- }
- },
- "400": {
- "description": "bad input parameter"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/postSubject": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Post a subject item",
- "description": "Post a subject",
- "operationId": "postSubject",
- "requestBody": {
- "description": "subject item",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SubjectItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item created"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "an existing item already exists"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/removeSubject": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Remove a subject item",
- "description": "Remove a subject",
- "operationId": "removeSubject",
- "requestBody": {
- "description": "subject item to be removed",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/removeItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item removed"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "the item can't be removed"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/getAlarms": {
- "get": {
- "tags": [
- "Developers"
- ],
- "summary": "Get the alarms",
- "description": "Get the alarms\n",
- "operationId": "getAlarms",
- "parameters": [
- {
- "name": "id",
- "in": "query",
- "description": "id of the item to get",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "searchString",
- "in": "query",
- "description": "pass an optional search string for looking up inventory",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "skip",
- "in": "query",
- "description": "number of records to skip for pagination",
- "required": false,
- "schema": {
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- },
- {
- "name": "limit",
- "in": "query",
- "description": "maximum number of records to return",
- "required": false,
- "schema": {
- "maximum": 1000,
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "search results matching criteria",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/AlarmItem"
- }
- }
- }
- }
- },
- "400": {
- "description": "bad input parameter"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/postAlarm": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Post an alarm",
- "description": "Post an alarm",
- "operationId": "postAlarm",
- "requestBody": {
- "description": "alarm item",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/AlarmItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item created"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "an existing item already exists"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/removeAlarm": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Remove an alarm item",
- "description": "Remove an alarm",
- "operationId": "removeAlarm",
- "requestBody": {
- "description": "alarm item to be removed",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/removeItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item removed"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "the item can't be removed"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/getTracks": {
- "get": {
- "tags": [
- "Developers"
- ],
- "summary": "Get the tracks",
- "description": "Get the tracks\n",
- "operationId": "getTracks",
- "parameters": [
- {
- "name": "id",
- "in": "query",
- "description": "id of the item to get",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "searchString",
- "in": "query",
- "description": "pass an optional search string for looking up inventory",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "skip",
- "in": "query",
- "description": "number of records to skip for pagination",
- "required": false,
- "schema": {
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- },
- {
- "name": "limit",
- "in": "query",
- "description": "maximum number of records to return",
- "required": false,
- "schema": {
- "maximum": 1000,
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "search results matching criteria",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TrackItem"
- }
- }
- }
- }
- },
- "400": {
- "description": "bad input parameter"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/postTrack": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Post a track",
- "description": "Post a track",
- "operationId": "postTrack",
- "requestBody": {
- "description": "track item",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TrackItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item created"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "an existing item already exists"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/removeTrack": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Remove a track item",
- "description": "Remove a track",
- "operationId": "removeTrack",
- "requestBody": {
- "description": "track item to be removed",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/removeItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item removed"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "the item can't be removed"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/getSettings": {
- "get": {
- "tags": [
- "Developers"
- ],
- "summary": "Get the groups of settings",
- "description": "Get the settings\n",
- "operationId": "getSettings",
- "parameters": [
- {
- "name": "id",
- "in": "query",
- "description": "id of the item to get",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "searchString",
- "in": "query",
- "description": "pass an optional search string for looking up inventory",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "skip",
- "in": "query",
- "description": "number of records to skip for pagination",
- "required": false,
- "schema": {
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- },
- {
- "name": "limit",
- "in": "query",
- "description": "maximum number of records to return",
- "required": false,
- "schema": {
- "maximum": 1000,
- "minimum": 0,
- "type": "integer",
- "format": "int32"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "search results matching criteria",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TrackItem"
- }
- }
- }
- }
- },
- "400": {
- "description": "bad input parameter"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/postSetting": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Post a group of settings",
- "description": "Post a group settings",
- "operationId": "postSetting",
- "requestBody": {
- "description": "group of settings item",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SettingItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item created"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "an existing item already exists"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- },
- "/removeSetting": {
- "post": {
- "tags": [
- "Developers"
- ],
- "summary": "Remove a group of settings item",
- "description": "Remove a group of settings",
- "operationId": "removeSetting",
- "requestBody": {
- "description": "group of setting item to be removed",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/removeItem"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "item removed"
- },
- "400": {
- "description": "invalid input, object invalid"
- },
- "409": {
- "description": "the item can't be removed"
- }
- }
- },
- "servers": [
- {
- "url": "",
- "description": ""
- }
- ]
- }
- },
- "components": {
- "schemas": {
- "removeItem": {
- "required": [
- "id"
- ],
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "format": "uuid"
- }
- },
- "description": "Item to be removed"
- },
- "BuildingItem": {
- "required": [
- "id",
- "name"
- ],
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "description": "ID",
- "format": "uuid"
- },
- "name": {
- "type": "string",
- "description": "Name",
- "example": "Hospital"
- },
- "city": {
- "type": "string",
- "description": "City"
- },
- "address": {
- "type": "string",
- "description": "Address"
- },
- "latitude": {
- "type": "number",
- "description": "Latitude"
- },
- "longitude": {
- "type": "number",
- "description": "Longitude"
- }
- },
- "description": "A building or an area that groups together several plan"
- },
- "PlanItem": {
- "required": [
- "id",
- "name"
- ],
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "description": "ID",
- "format": "uuid"
- },
- "name": {
- "type": "string",
- "description": "Name",
- "example": "Building 1 - Floor 1"
- },
- "image": {
- "type": "string",
- "description": "Image",
- "format": "uri",
- "example": "The URL of the image"
- },
- "scale": {
- "type": "number",
- "description": "Scale",
- "example": 1
- },
- "Building": {
- "type": "string",
- "description": "Building",
- "format": "dbid"
- }
- },
- "description": "A plan is floor or a space of a building"
- },
- "ZoneItem": {
- "required": [
- "id",
- "name"
- ],
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "description": "ID",
- "format": "uuid"
- },
- "name": {
- "type": "string",
- "description": "Name",
- "example": "Floor 1 - Room 1"
- },
- "groups": {
- "type": "string",
- "description": "Groups"
- },
- "Plan": {
- "type": "string",
- "description": "Plan",
- "format": "dbid"
- },
- "Building": {
- "type": "string",
- "description": "Building",
- "format": "dbid"
- }
- },
- "description": "A zone is a room or a sub-area of a plan"
- },
- "GatewayItem": {
- "required": [
- "id",
- "name"
- ],
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "description": "ID",
- "format": "uuid"
- },
- "name": {
- "type": "string",
- "description": "Name"
- },
- "mac": {
- "type": "string",
- "description": "MAC"
- },
- "status": {
- "type": "boolean",
- "description": "Status"
- },
- "model": {
- "type": "string",
- "description": "Model"
- },
- "ip": {
- "type": "string",
- "description": "IP"
- },
- "position": {
- "type": "string",
- "description": "Position"
- },
- "x": {
- "type": "number",
- "description": "X"
- },
- "y": {
- "type": "number",
- "description": "Y"
- },
- "Plan": {
- "type": "string",
- "description": "Plan",
- "format": "dbid"
- },
- "Zone": {
- "type": "string",
- "description": "Zone",
- "format": "dbid"
- },
- "Building": {
- "type": "string",
- "description": "Building",
- "format": "dbid"
- },
- "notes": {
- "type": "string",
- "description": "Notes"
- }
- },
- "description": "A gateway of the system"
- },
- "TrackerItem": {
- "required": [
- "id",
- "name"
- ],
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "description": "ID",
- "format": "uuid"
- },
- "name": {
- "type": "string",
- "description": "Name"
- },
- "mac": {
- "type": "string",
- "description": "MAC"
- },
- "status": {
- "type": "string",
- "description": "Status"
- },
- "model": {
- "type": "string",
- "description": "Model"
- },
- "position": {
- "type": "string",
- "description": "Position"
- },
- "x": {
- "type": "number",
- "description": "X"
- },
- "y": {
- "type": "number",
- "description": "Y"
- },
- "Zone": {
- "type": "string",
- "description": "Zone",
- "format": "dbid"
- },
- "Building": {
- "type": "string",
- "description": "Building",
- "format": "dbid"
- },
- "notes": {
- "type": "string",
- "description": "Notes"
- }
- },
- "description": "A tracker of the system"
- },
- "OperatorItem": {
- "required": [
- "id",
- "name"
- ],
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "description": "ID"
- },
- "name": {
- "type": "string",
- "description": "Name"
- },
- "phone": {
- "type": "string",
- "description": "Phone"
- },
- "zones": {
- "type": "string",
- "description": "Zones"
- },
- "groups": {
- "type": "string",
- "description": "Groups"
- },
- "notes": {
- "type": "string",
- "description": "Notes"
- },
- "Building": {
- "type": "string",
- "description": "Building",
- "format": "dbid"
- }
- },
- "description": "An operator who monitors the subjects"
- },
- "SubjectItem": {
- "required": [
- "id",
- "name"
- ],
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "description": "ID"
- },
- "name": {
- "type": "string",
- "description": "Name"
- },
- "role": {
- "type": "string",
- "description": "Role"
- },
- "phone": {
- "type": "string",
- "description": "Phone"
- },
- "zones": {
- "type": "string",
- "description": "Zones"
- },
- "groups": {
- "type": "string",
- "description": "Groups"
- },
- "Building": {
- "type": "string",
- "description": "Building",
- "format": "dbid"
- },
- "notes": {
- "type": "string",
- "description": "Notes"
- }
- },
- "description": "Person or object monitored by the operators"
- },
- "AlarmItem": {
- "required": [
- "id"
- ],
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "description": "ID"
- },
- "time": {
- "type": "string",
- "description": "Time",
- "format": "time"
- },
- "type": {
- "type": "string",
- "description": "Type"
- },
- "status": {
- "type": "string",
- "description": "Status"
- },
- "gateway": {
- "type": "string",
- "description": "Gateway",
- "format": "uuid"
- },
- "gatewayMac": {
- "type": "string",
- "description": "Gateway MAC"
- },
- "gatewayName": {
- "type": "string",
- "description": "Gateway name"
- },
- "Tracker": {
- "type": "string",
- "description": "Tracker",
- "format": "dbid"
- },
- "trackerMac": {
- "type": "string",
- "description": "Tracker MAC"
- },
- "trackerName": {
- "type": "string",
- "description": "Tracker name"
- },
- "Subject": {
- "type": "string",
- "description": "Subject",
- "format": "dbid"
- },
- "subjectName": {
- "type": "string",
- "description": "Subject name"
- },
- "Operator": {
- "type": "string",
- "description": "Operator",
- "format": "dbid"
- },
- "operatorName": {
- "type": "string",
- "description": "Operator name"
- },
- "Zone": {
- "type": "string",
- "description": "Zone",
- "format": "dbid"
- },
- "zoneName": {
- "type": "string",
- "description": "Zone name"
- },
- "Building": {
- "type": "string",
- "description": "Building",
- "format": "dbid"
- },
- "buildingName": {
- "type": "string",
- "description": "Building name"
- }
- },
- "description": "Alarm triggered if a monitored subject is lost or out of their zone"
- },
- "TrackItem": {
- "required": [
- "id"
- ],
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "time": {
- "type": "string",
- "description": "Time",
- "format": "date-time"
- },
- "type": {
- "type": "string",
- "description": "Type"
- },
- "status": {
- "type": "string",
- "description": "Status",
- "enum": [
- "lost",
- "detected",
- "away",
- "help"
- ]
- },
- "Gateway": {
- "type": "string",
- "description": "Gateway",
- "format": "dbid"
- },
- "gatewayMac": {
- "type": "string",
- "description": "Gateway MAC"
- },
- "gatewayName": {
- "type": "string",
- "description": "Gateway name"
- },
- "Tracker": {
- "type": "string",
- "description": "Tracker",
- "format": "dbid"
- },
- "trackerMac": {
- "type": "string",
- "description": "Tracker MAC"
- },
- "trackerName": {
- "type": "string",
- "description": "Tracker name"
- },
- "Subject": {
- "type": "string",
- "description": "Subject",
- "format": "dbid"
- },
- "subjectName": {
- "type": "string",
- "description": "Subject name"
- },
- "Zone": {
- "type": "string",
- "description": "Zone",
- "format": "dbid"
- },
- "zoneName": {
- "type": "string",
- "description": "Zone name"
- },
- "signal": {
- "type": "number"
- },
- "Building": {
- "type": "string",
- "description": "Building",
- "format": "dbid"
- },
- "buildingName": {
- "type": "string",
- "description": "Building name"
- }
- },
- "description": "Log of a state change of a tracker with respect to a gateway"
- },
- "SettingItem": {
- "required": [
- "id"
- ],
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "description": "ID"
- },
- "name": {
- "type": "string",
- "description": "Setting name"
- },
- "role": {
- "type": "string",
- "description": "Role",
- "enum": [
- "developer",
- "administrator",
- "user"
- ]
- },
- "debug": {
- "type": "boolean",
- "description": "Debug mode",
- "format": "boolean"
- }
- },
- "description": "General setting of the app"
- }
- }
- }
- }
|