Test a camera stream from a Core

Asks a Core to connect to a camera with the address and credentials you supply, and returns whether the stream opened together with a snapshot from it. The camera does not have to be provisioned in Lumana — this is the check to run before adding one, or when a provisioned camera stopped working and you want to test a corrected password without saving it. Nothing is stored: the credentials in this request are forwarded to the Core for the single test and are not written to the camera record. To test every camera a Core already carries, use POST /v1/troubleshooting/cores/cameras-connection-test. The command is published to the Core and the HTTP response is held open until the device answers. On success the body is the device's own output merged with sessionId and state. state is a NUMBER, not a word - 0 completed, 1 the device did not answer in time, 2 the device reported an error, 3 the command was not sent because the Core was out of sync. A call that times out answers 408 with { message, state: 1, responseBody } and carries NO sessionId and no device output. The shape of the device output depends on the Core software version and is passed through untouched, so treat it as free-form diagnostic data rather than a fixed schema.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
required

Id of the Core to run the diagnostic on. It must belong to the organization the credential authenticates as; a Core of another organization is reported as not found. The location is resolved from the Core itself, so there is no locationId parameter.

string
required

Address of the camera on the network the Core is on — an IPv4 address or a hostname the Core can resolve. It is the Core that connects, so an address reachable only from your own machine will fail.

string
required

RTSP port of the camera, as a string. 554 is the default for RTSP; cameras behind a NAT or configured by an installer often use another one.

string
required

Username of the camera account the Core should authenticate with.

string
required

Password of that camera account. It is forwarded to the Core for this single test and is not stored by Lumana; it is not written to the camera record and is not returned in any response.

string
required

Stream path on the camera, appended to the RTSP URL — for example /media/video1 or /Streaming/Channels/101. It is vendor-specific; the value is the one the camera documentation gives for its main stream.

boolean
Defaults to false

Request the stream over TCP instead of UDP. Use TCP on networks that drop or reorder UDP, where a stream opens but the picture breaks up. Defaults to false (UDP).

number
1 to 7680

Width in pixels of the snapshot the Core returns on success. Larger values make the response bigger without telling you anything more about the connection.

number
1 to 4320

Height in pixels of the snapshot the Core returns on success.

Responses

400

The request body is invalid. The response names the field to correct.

401

Unauthorized. Missing or invalid credentials.

404

No such Core in this organization. Returned both for a Core id that does not exist and for one that belongs to another organization.

408

The Core did not answer within 120 SECONDS, after which the call answers 408 Request Timeout and the command may still complete on the device. The body is { message: "Request Timeout", state: 1, responseBody } — no sessionId and no device output. This usually means the device is offline or has lost its connection to Lumana.

500

The diagnostic could not be dispatched, or the Core answered with an error. The body carries state: 2 (error) and the device message when there is one.

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json