List RTSP cameras accessible to the authenticated user
Returns cameras the JWT user owns or has an active access grant for. Each item includes the user's effective role (manager for owners). Each item carries signedPreviewUrl (a short-lived thumbnail link) and previewExpiresAt when a thumbnail exists; both are absent otherwise. The list carries no live link (signedHlsUrl): get it from GET /rtsp-cameras/{id} for the camera being opened.
curl -X GET "https://api.spkey.co/rtsp-cameras" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN (JWT)" \
-H "X-API-Key: YOUR_API_KEY"
import requests
import json
url = "https://api.spkey.co/rtsp-cameras"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN (JWT)",
"X-API-Key": "YOUR_API_KEY"
}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch("https://api.spkey.co/rtsp-cameras", {
method: "GET",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN (JWT)",
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api.spkey.co/rtsp-cameras", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN (JWT)")
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.spkey.co/rtsp-cameras')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN (JWT)'
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)
puts response.body
{
"cameras": [
{
"cameraId": "example_string",
"name": "John Doe",
"status": "working",
"placementStatus": "pending",
"placementError": "example_string",
"streamId": "example_string",
"hlsPath": "example_string",
"signedHlsUrl": "example_string",
"hlsExpiresAt": 3.14,
"httpSnapshotUrl": "example_string",
"signedPreviewUrl": "example_string",
"previewExpiresAt": 3.14,
"ownerId": "example_string",
"orgId": "example_string",
"role": "viewer",
"runtimeStatus": "example_string",
"runtimeError": "example_string",
"runtimeChangedAt": "example_string",
"runtimeObservedAt": "example_string",
"recordingEnabled": true,
"retentionDays": 3.14,
"createdAt": "example_string",
"updatedAt": "example_string"
}
],
"total": 3.14
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
/rtsp-cameras
Target server for requests. Edit to use your own host.
JWT token from SmartphoneKey authentication. Identifies the B2C user or B2B service.
API key for B2B organization access. Provided during organization onboarding.
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token (JWT). JWT token from SmartphoneKey authentication. Identifies the B2C user or B2B service.
API Key for authentication. API key for B2B organization access. Provided during organization onboarding.