Cameras Summary API

{ "swagger": "2.0", "info": { "version": "2.0.0", "title": "Eagle Eye CameraManager API", "description": "RESTful API for the Eagle Eye CameraManager platform." }, "host": "rest.cameramanager.com", "schemes": [ "http", "https" ], "basePath": "/rest/v2.0", "produces": [ "application/json" ], "definitions": { "Error": { "type": "object", "description": "Generic error response, modelled after RFC 7807.", "properties": { "code": { "type": "integer", "description": "Error code within the system." }, "title": { "type": "string", "description": "This title is not meant to be shown to users and is not guaranteed to stay the same. Please use the code to parse the error." }, "detail": { "type": "string", "description": "Error details, to help developers detect what went wrong." } }, "required": [ "code", "title" ] }, "OAuth2Error": { "type": "object", "description": "Generic OAuth2 error response when there is something wrong with the OAuth2 authentication. Defined at RFC 6749.", "properties": { "error": { "type": "string", "description": "A single ASCII error code conforming the pattern." }, "error_description": { "type": "string", "description": "Human-readable ASCII text providing additional information, used to assist the client developer in understanding the error that occurred." } }, "required": [ "error" ] }, "CameraSummary": { "type": "object", "properties": { "cameraId": { "type": "integer", "format": "int32" }, "name": { "type": "string", "maxLength": 64 }, "brand": { "type": "string", "maxLength": 32 }, "model": { "type": "string", "maxLength": 32 }, "macAddress": { "type": "string", "maxLength": 18 }, "localUrl": { "type": "string", "maxLength": 255 }, "globalUrl": { "type": "string", "maxLength": 255 }, "status": { "$ref": "#/definitions/Status", "description": "Shows the current status of the camera, if its Online or Offline." }, "zoneName": { "type": "string", "maxLength": 32, "description": "Name of the zone the camera is added to." } } }, "DetailedCameraSummary": { "type": "object", "properties": { "cameraId": { "type": "integer", "format": "int32", "description": "This object can be retrieved for multiple cameras at the same time. In that case, this cameraId can be used to identify the camera each summary belongs to." }, "cameraConnection": { "$ref": "#/definitions/ConnectionMethodDetails", "description": "Shows details about connection details. Connection type can be either Manual or Pnp, and API type used in communication is Native or ONVIF." }, "lastSeenAvailable": { "type": "string", "format": "date-time", "description": "Date and time when the camera was last seen available." }, "dateAdded": { "type": "string", "format": "date-time", "description": "Date when camera has been added to the system." }, "passwordLoginStatus": { "$ref": "#/definitions/PasswordLoginStatus", "description": "Shows the current password login status if camera is online, has Offline value if camera is offline." }, "networkConnectivity": { "$ref": "#/definitions/NetworkConnectivityDetails", "description": "Shows details about network connection details. Type of the connection (LAN/Wifi/Mobile) and its strength." }, "firmwareStatus": { "$ref": "#/definitions/FirmwareStatus" } } }, "MobileNetworkType": { "type": "string", "enum": [ "Fourth_Generation", "Third_Generation", "Second_Generation" ] }, "ConnectionStrength": { "type": "string", "enum": [ "High", "Medium", "Low" ] }, "NetworkConnectionType": { "type": "string", "enum": [ "Lan", "Wifi", "Mobile", "Unknown" ] }, "Status": { "type": "string", "enum": [ "Online", "Offline" ] }, "ConnectionState": { "type": "string", "enum": [ "unsupported", "retrievalError", "error", "connected", "notConnected", "cameraOffline" ] }, "CameraConnectionType": { "type": "string", "enum": [ "Manual", "Pnp" ] }, "CameraConnectionAPIType": { "type": "string", "enum": [ "Native", "Onvif" ] }, "ConnectionMethodDetails": { "type": "object", "properties": { "type": { "$ref": "#/definitions/CameraConnectionType", "description": "Shows a method which the camera is using to connect to the system. Can be Manual or Pnp." }, "apiType": { "$ref": "#/definitions/CameraConnectionAPIType", "description": "Type of the API used in communication. Can be Native or Onvif." } } }, "PasswordLoginStatus": { "type": "string", "enum": [ "PasswordVerified", "PasswordNotVerified", "Offline" ] }, "MobileConnectionDetails": { "type": "object", "properties": { "state": { "$ref": "#/definitions/ConnectionState", "description": "Shows state of the connection." }, "type": { "$ref": "#/definitions/MobileNetworkType", "description": "Shows mobile network type (2G/3G/4G)." }, "strength": { "$ref": "#/definitions/ConnectionStrength", "description": "Shows strength of the network signal." } } }, "WifiConnectionDetails": { "type": "object", "properties": { "state": { "$ref": "#/definitions/ConnectionState", "description": "Shows state of the connection." }, "strength": { "$ref": "#/definitions/ConnectionStrength", "description": "Shows strength of the network signal." } } }, "LanConnectionDetails": { "type": "object", "properties": { "state": { "$ref": "#/definitions/ConnectionState", "description": "Shows state of the connection." } } }, "NetworkConnectivityDetails": { "type": "object", "properties": { "connectionType": { "$ref": "#/definitions/NetworkConnectionType", "description": "Shows network connection type. Can be LAN/Wifi/Mobile/Unknown." }, "lanConnectionDetails": { "$ref": "#/definitions/LanConnectionDetails", "description": "Shows details of the LAN connection (only state for now)." }, "wifiConnectionDetails": { "$ref": "#/definitions/WifiConnectionDetails", "description": "Shows details of the wifi connection (state and signal strength)." }, "mobileConnectionDetails": { "$ref": "#/definitions/MobileConnectionDetails", "description": "Shows details of the mobile connection (state, connection type and signal strength)." } } }, "FirmwareStatus": { "type": "object", "properties": { "cameraId": { "type": "integer", "description": "Unique identifier for the camera." }, "currentVersion": { "type": "string", "description": "The firmware version currently installed in this camera." }, "targetVersion": { "type": "string", "description": "The firmware version this camera could be upgraded to." }, "status": { "$ref": "#/definitions/CurrentFirmwareStatus" } }, "required": [ "cameraId", "currentVersion", "targetVersion", "status" ] }, "CurrentFirmwareStatus": { "type": "string", "description": "Current status of the camera's firmware", "enum": [ "upgradable", "up-to-date", "upgrading", "unknown" ] } }, "responses": { "resourceNotFound": { "description": "Referenced resource could not be found.", "schema": { "$ref": "#/definitions/Error" } }, "unauthorized": { "description": "You are not authenticated. Please authenticate and try again.", "schema": { "$ref": "#/definitions/OAuth2Error" } }, "forbidden": { "description": "You have no permission to access the specified resource.", "schema": { "$ref": "#/definitions/Error" } }, "validationError": { "description": "The supplied object is invalid. Error detail will contain the validation error.", "schema": { "$ref": "#/definitions/Error" } }, "notAcceptableError": { "description": "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request.", "schema": { "$ref": "#/definitions/Error" } }, "conflict": { "description": "There was a conflict while trying to perform your request. See error details for more information.", "schema": { "$ref": "#/definitions/Error" } }, "internalServerError": { "description": "Something went wrong in the server. Please try again.", "schema": { "$ref": "#/definitions/Error" } } }, "parameters": { "resellerId": { "name": "resellerId", "in": "path", "description": "ID of the reseller.", "required": true, "type": "integer" }, "accountId": { "name": "accountId", "in": "path", "description": "ID of the account.", "required": true, "type": "integer" }, "cameraId": { "name": "cameraId", "in": "path", "description": "ID of the camera.", "required": true, "type": "integer" } }, "paths": { "/resellers/{resellerId}/accounts/{accountId}/cameras/all/summary": { "get": { "summary": "Get all cameras for account", "description": "Retrieves all cameras for the account of the reseller. Camera details returned are a summary of information to provide a general overview of account's camera.", "operationId": "getCameras", "parameters": [ { "$ref": "#/parameters/resellerId" }, { "$ref": "#/parameters/accountId" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/CameraSummary" } } }, "401": { "$ref": "#/responses/unauthorized" }, "403": { "$ref": "#/responses/forbidden" }, "404": { "$ref": "#/responses/resourceNotFound" }, "406": { "$ref": "#/responses/notAcceptableError" }, "500": { "$ref": "#/responses/internalServerError" } }, "tags": [ "CameraSummary" ] } }, "/resellers/{resellerId}/accounts/{accountId}/cameras/{cameraId}/summary/details": { "get": { "summary": "Get single camera summary for the account", "description": "Retrieves a single camera details for the account of the reseller. Camera details returned are a summary of information to provide a general overview of account's camera.", "operationId": "getCameraSummary", "parameters": [ { "$ref": "#/parameters/resellerId" }, { "$ref": "#/parameters/accountId" }, { "$ref": "#/parameters/cameraId" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/DetailedCameraSummary" } }, "401": { "$ref": "#/responses/unauthorized" }, "403": { "$ref": "#/responses/forbidden" }, "404": { "$ref": "#/responses/resourceNotFound" }, "406": { "$ref": "#/responses/notAcceptableError" }, "500": { "$ref": "#/responses/internalServerError" } }, "tags": [ "CameraSummary" ] } } } }
Cameras Summary API YAML Specification
swagger-cameras-summary.yaml