media server logo
Toggle documentation navigation
Callaba home

NDI discovered devices

Use NDI discovered devices to find the NDI sources currently visible to this Callaba instance and check whether each source is active.

What it doesFind an NDI source on the network

Choose this whenYou need to see which NDI sources this Engine currently discovers.

Use another module whenUse NDI Configuration to change discovery; use NDI Adapters to publish a Callaba source as NDI.

1Discover devices2Inspect the source3Select the device
POST /api/devices/getAll
6 endpoints

Before you start

All methods require a valid x-access-token. Configure the Engine's NDI interfaces and discovery servers first.

What you can do

  • sync updates the device inventory from current discovery results.
  • getAll, getCount, and getById inspect discovered entries.
  • update changes supported record fields.
  • getStat reports whether a device is currently discovered.
  • remove deletes a stale saved device entry.

Example workflow

  1. Run sync after all expected senders are online.
  2. List devices and match their NDI names with the production plan.
  3. Call getStat for any entry that appears intermittent.
  4. Remove saved entries for retired or renamed senders.

Common use cases

  • Validate the camera and graphics patch before a show.
  • Distinguish a live sender from an old saved device entry.
  • Clean temporary event devices out of the discovery list.

Limits and troubleshooting

A saved device entry does not prove that its sender is reachable now; use getStat. Missing sources can result from interface selection, discovery-server reachability, routing, firewall rules, or sender configuration. Removing an entry does not stop the NDI sender.

Next steps

Create an NDI adapter when a managed Callaba source must be published as a named NDI output.

REST solution recipe

Inventory discovered NDI sources

List discovered devices, select the intended source by id, and inspect its current discovery activity before building an adapter.

  1. List NDI sourcesRead the current discovered-device inventory.POST /api/devices/getAll
  2. Check activityInspect the current discovery state before using the source downstream.POST /api/devices/getStat

Discovery reflects the current network view. Confirm the source name, address, and availability in the production segment.

POST
/api/devices/getAll
API token required

Use Get all discovered devices for an inventory of NDI sources known to Callaba Engine.

Apply a device-type filter when needed, and refresh the list when an operator view must reflect recent discovery changes.

Request body parameters
limit
integer
Copy direct link

Optional page size for the device list.

skip
integer
Copy direct link

Optional offset for paginated listing.

sort
object
Copy direct link

Optional sort descriptor. The UI uses { created: 1 }.

filter
object
Copy direct link

Operator-facing NDI list calls usually filter by type: DEVICE_TYPE_NDI.

Get all discovered devices
Copy code
curl --request POST \
--url http://localhost/api/devices/getAll \
--header 'x-access-token: <your_api_token>' \
--header 'Content-Type: application/json' \
--data '{
"limit": 10,
"skip": 0,
"sort": {
"created": 1
},
"filter": {
"type": "DEVICE_TYPE_NDI"
}
}'
Response
array of discovered device objects
array
Copy direct link

The backend returns a bare array of stored discovered-device rows.

discovered_last_time
string
Copy direct link

Timestamp of the last discovery-side refresh for this device.

Response: Get all discovered devices
JSON
Copy code
[
{
"_id": "67f100000000000000000001",
"id": "67f100000000000000000001",
"name": "Studio Camera A",
"type": "DEVICE_TYPE_NDI",
"ndi_name": "Studio Camera A",
"url_address": "192.168.10.41:5960",
"created": "2026-03-24T10:00:00.000Z",
"discovered_last_time": "2026-03-24T10:00:05.000Z",
"success": true
}
]
POST
/api/devices/getCount
API token required
POST
/api/devices/getById
API token required
POST
/api/devices/getStat
API token required
POST
/api/devices/update
API token required
DELETE
/api/devices/remove
API token required