Eagle Eye Networks · Schema
ApiAddCamera
Base schema to describe all new cameras to be created.
CompanySecurityVideo SurveillanceVideo ManagementCloud VideoCameraPhysical SecurityVideo AnalyticsLicense Plate RecognitionStreamingWebhookAuthentication
Properties
| Name | Type | Description |
|---|---|---|
| registrationStrategy | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/main/json-schema/eagle-eye-networks-api-add-camera-schema.json",
"title": "ApiAddCamera",
"description": "Base schema to describe all new cameras to be created.\n",
"x-generated": "2026-10-14",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/eagle-eye-networks-devices-openapi.yml#/components/schemas/ApiAddCamera",
"oneOf": [
{
"$ref": "#/$defs/ApiBridgeCameraCreate"
},
{
"$ref": "#/$defs/ApiRtspCameraCreate"
},
{
"$ref": "#/$defs/ApiCameraDirectCreate"
},
{
"$ref": "#/$defs/ApiAxisCameraDirectCreate"
},
{
"$ref": "#/$defs/ApiChannelCameraCreate"
}
],
"properties": {
"registrationStrategy": {
"$ref": "#/$defs/ApiRegistrationStrategy"
}
},
"required": [
"registrationStrategy"
],
"$defs": {
"ApiAxisCameraDirectCreate": {
"description": "Schema used to describe a new Axis camera to be created that directly connects to the cloud.\n",
"allOf": [
{
"$ref": "#/$defs/ApiCameraDirectCreate"
},
{
"type": "object",
"properties": {
"oak": {
"$ref": "#/$defs/oak"
},
"serial": {
"$ref": "#/$defs/serial"
}
},
"required": [
"oak",
"serial"
]
}
]
},
"ApiBaseCameraCreate": {
"type": "object",
"properties": {
"name": {
"$ref": "#/$defs/DeviceName"
},
"tags": {
"$ref": "#/$defs/DeviceTags"
},
"locationId": {
"$ref": "#/$defs/LocationId"
},
"devicePosition": {
"$ref": "#/$defs/ApiDevicePosition"
},
"deviceAddress": {
"$ref": "#/$defs/DeviceAddress"
}
}
},
"ApiBridgeCameraCreate": {
"description": "Schema used to describe a new camera to be created that should be attached to a bridge.\n",
"allOf": [
{
"$ref": "#/$defs/ApiBridgedCameraCreate"
},
{
"type": "object",
"properties": {
"guid": {
"$ref": "#/$defs/Guid"
}
},
"required": [
"name",
"bridgeId",
"guid"
]
}
]
},
"ApiBridgedCameraCreate": {
"description": "Base schema for cameras that are attached to a bridge, vs cameras that are connected directly to the cloud.\n",
"allOf": [
{
"$ref": "#/$defs/ApiBaseCameraCreate"
},
{
"type": "object",
"properties": {
"bridgeId": {
"$ref": "#/$defs/BridgeId"
},
"credentials": {
"$ref": "#/$defs/ApiDeviceCredentials"
}
}
}
]
},
"ApiCameraDirectCreate": {
"description": "Schema used to describe a new camera to be created that directly connects to the cloud.\n",
"allOf": [
{
"$ref": "#/$defs/ApiBaseCameraCreate"
},
{
"type": "object",
"properties": {
"macAddress": {
"$ref": "#/$defs/MacAddress"
}
},
"required": [
"name",
"macAddress"
]
}
]
},
"ApiChannelCameraCreate": {
"description": "Schema used to describe a new channel camera to be created that should be attached to a multi camera.\n",
"properties": {
"guid": {
"$ref": "#/$defs/Guid"
},
"name": {
"$ref": "#/$defs/DeviceName"
},
"tags": {
"$ref": "#/$defs/DeviceTags"
},
"locationId": {
"$ref": "#/$defs/LocationId"
},
"bridgeId": {
"$ref": "#/$defs/BridgeId"
}
},
"required": [
"name",
"bridgeId",
"guid"
]
},
"ApiDeviceCredentials": {
"type": "object",
"x-jsoninclude-nonnull-annotation": true,
"properties": {
"username": {
"type": "string",
"description": "Username to use when authenticating with the device",
"maxLength": 126
},
"password": {
"type": "string",
"description": "Password to use when authenticating with the device",
"maxLength": 126
}
}
},
"ApiDevicePosition": {
"type": "object",
"x-jsoninclude-nonnull-annotation": true,
"properties": {
"latitude": {
"description": "The latitude of the device. (WGS 84)",
"type": [
"number",
"null"
],
"format": "double",
"minimum": -90,
"maximum": 90
},
"longitude": {
"description": "The longitude of the device. (WGS 84).",
"type": [
"number",
"null"
],
"format": "double",
"minimum": -180,
"maximum": 180
},
"azimuth": {
"type": [
"number",
"null"
],
"format": "double",
"minimum": 0,
"maximum": 360
},
"rangeInMeters": {
"type": [
"number",
"null"
],
"format": "double",
"minimum": 0
},
"floor": {
"type": [
"integer",
"null"
],
"minimum": -30,
"maximum": 300
},
"fieldOfView": {
"description": "Field of view is the range of the observable world visible at any given time through camera viewfinder.",
"type": [
"number",
"null"
],
"format": "double",
"minimum": 0,
"maximum": 360
}
}
},
"ApiRegistrationStrategy": {
"type": "string",
"enum": [
"bridge",
"rtspUrl",
"cameraDirect",
"channel"
],
"description": "Cameras can be added in multiple ways, and this field indicates how this specific camera should be added. Possible methods:\n * `bridge`: Associate a camera found with `GET /api/v3.0/availableDevices` with one of the bridges that found it.\n * `rtspUrl`: Define a camera by giving a RTSP URL to retrieve its live stream and the bridge that should connect to it.\n * `cameraDirect`: Register a camera by its MAC address regardless of its physical location and without needing a bridge.\n * `channel`: Associate a channel camera with its parent multi camera.\n"
},
"ApiRtspCameraCreate": {
"description": "Schema used to describe a new virtual camera to be created that should be created based on an RTSP stream.\n",
"allOf": [
{
"$ref": "#/$defs/ApiBridgedCameraCreate"
},
{
"type": "object",
"properties": {
"rtspSettings": {
"$ref": "#/$defs/RtspConnectionSettings"
}
},
"required": [
"name",
"bridgeId",
"rtspSettings"
]
}
]
},
"BridgeId": {
"type": "string",
"pattern": "^(?:0[xX])?[0-9a-fA-F]{8}$",
"description": "The bridge a camera is connected to. Keep in mind that some cameras are connected directly to the cloud, which is when this field will not be reported.\n"
},
"DeviceAddress": {
"type": "object",
"x-jsoninclude-nonnull-annotation": true,
"description": "Address of the device.",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"address": {
"type": [
"string",
"null"
]
}
}
},
"DeviceName": {
"description": "User-defined name for the device.",
"type": "string",
"minLength": 1,
"maxLength": 126
},
"DeviceTags": {
"type": "array",
"maxItems": 64,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
"Guid": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"LocationId": {
"description": "ID Of the location.",
"minLength": 1,
"type": [
"string",
"null"
]
},
"MacAddress": {
"type": [
"string",
"null"
],
"pattern": "^([A-F0-9]{2}:){5}[A-F0-9]{2}$"
},
"RtspConnectionSettings": {
"type": "object",
"allOf": [
{
"$ref": "#/$defs/RtspConnectionSettings"
}
],
"required": [
"ipAddress",
"videoResourceUrl"
]
},
"oak": {
"description": "Owner Authentication Key",
"type": "string",
"pattern": "^[A-Z0-9]{12}$",
"nullable": false
},
"serial": {
"type": "string",
"pattern": "^[A-F0-9]{12}$",
"nullable": false
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/eagle-eye-networks-api-add-camera"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.