Skip to content

API Reference

This page lists the public-facing HTTP endpoints exposed by bilbycast-manager and their purpose at a high level. It is not a complete integration reference — full request/response schemas, WebSocket command enumerations, backup file format, and internal protocol details are provided to commercial licensees under NDA.

Most endpoints require authentication via a session cookie (set automatically at login). API clients may alternatively use an Authorization: Bearer <token> header.

State-changing requests (POST, PUT, PATCH, DELETE) to authenticated endpoints also require an X-CSRF-Token header matching the csrf_token cookie value.


MethodPathDescription
POST/api/v1/auth/loginPassword login. Rate-limited per IP.
POST/api/v1/auth/login-formForm-based login with redirect.
POST/api/v1/auth/logoutLog out and clear session.
GET/api/v1/auth/meReturn the current user’s profile.
PUT/api/v1/auth/meSelf-service profile edit.
POST/api/v1/auth/change-passwordSelf-service password change.
MethodPathDescription
POST/api/v1/auth/mfa/totp/setupStart TOTP enrollment.
POST/api/v1/auth/mfa/totp/confirmFinalise enrollment and return recovery codes.
POST/api/v1/auth/mfa/totp/disableTurn MFA off (requires password + code).
POST/api/v1/auth/mfa/verifyComplete login after the MFA challenge.
MethodPathDescription
GET/api/v1/auth/oidc/statusPublic probe — is SSO enabled on this server?
GET/api/v1/auth/oidc/loginStart the OIDC authorisation flow.
GET/api/v1/auth/oidc/callbackIdP callback.

SSO is a commercially licensed feature. See the SSO setup guide for per-IdP configuration.


MethodPathDescription
GET/api/v1/usersList all users
POST/api/v1/usersCreate a new user
GET/api/v1/users/{id}Get user by ID
PUT/api/v1/users/{id}Update user
DELETE/api/v1/users/{id}Delete user

MethodPathDescription
GET/api/v1/nodesList all registered nodes (filter by ?device_type=)
POST/api/v1/nodesRegister a new node
GET/api/v1/device-typesList registered device drivers
GET/api/v1/nodes/{id}Get node by ID
PUT/api/v1/nodes/{id}Update node metadata
DELETE/api/v1/nodes/{id}Delete node
POST/api/v1/nodes/{id}/tokenRegenerate registration token
GET/api/v1/nodes/{id}/configGet cached config from a connected node
POST/api/v1/nodes/{id}/commandSend a command to a connected node

The set of valid commands and their payload schemas is specific to each device driver. The list of supported commands per driver is returned by /api/v1/device-types and documented in full in the commercial integration reference.


ST 2110 controls are available only on nodes whose health capabilities advertise ST 2110 support. Older edges transparently hide these controls in the UI.

MethodPathPurpose
GET/api/v1/nodes/{id}/ptpCached PTP state.
GET/api/v1/nodes/{id}/nmosLive NMOS state.
GET/api/v1/nodes/{id}/flows/{flow_id}/sdp/{essence}SDP document for one essence of a ST 2110 flow.
GET / PUT/api/v1/nodes/{id}/flows/{flow_id}/channel-mapRead or stage + activate an IS-08 channel map.
GET / POST / PUT / DELETE/api/v1/nodes/{id}/flow-groups[/{gid}]Manage flow groups (essence bundles).

Mutating endpoints require the Operator role and the usual CSRF + node-access checks. Full payload schemas are provided in the commercial integration reference.


MethodPathDescription
GET/api/v1/eventsList events (supports pagination)
POST/api/v1/events/{id}/ackAcknowledge an event
GET/api/v1/events/countGet unacknowledged event count

MethodPathDescription
GET/api/v1/settingsGet current settings
PUT/api/v1/settingsUpdate settings
GET/api/v1/settings/tlsGet TLS certificate info
POST/api/v1/settings/tls/uploadUpload a new TLS certificate and key (PEM, requires restart)

MethodPathDescription
GET/api/v1/licenseCurrent license status (Admin+).
PUT/api/v1/licenseApply or replace a license key (SuperAdmin).
DELETE/api/v1/licenseRemove the installed license key (SuperAdmin).

The free tier supports a limited number of managed nodes. Commercial licenses unlock higher node limits and advanced features. Endpoints gated by paid features return a machine-readable error that the UI uses to render an upgrade prompt.


Encrypted backup and restore is a commercially licensed feature available to SuperAdmins.

MethodPathDescription
POST/api/v1/exportDownload an encrypted backup of the manager’s state.
POST/api/v1/importRestore from an encrypted backup (destructive).

Backups are sealed with a user-supplied passphrase using authenticated encryption and a memory-hard key derivation function. Secret fields are portable across deployments with different master keys. File format details are provided to commercial licensees.


MethodPathDescription
POST/api/v1/ai/generate-configAI flow management (action-based)
POST/api/v1/ai/analyzeAI-powered anomaly analysis
POST/api/v1/ai/queryNatural language query about nodes
GET/api/v1/ai/keysList stored AI provider keys
POST/api/v1/ai/keysStore an AI provider API key
DELETE/api/v1/ai/keysDelete an AI provider API key

The AI assistant calls back to the manager using the same driver action system exposed through the UI. Prompt construction, per-driver action schemas, and credential-stripping behaviour are documented in the commercial integration reference.


Real-time updates for browser-based dashboards. Receives aggregated node status, stats, and health data. Requires an authenticated session.

Authenticated connection endpoint for managed devices (edge nodes, relay servers, and third-party API gateways). Devices connect outbound to the manager, enabling management of devices behind firewalls and NAT.

The node protocol is an authenticated JSON message channel with backward-compatible versioning. The full message schema, command set per device driver, and protocol extension rules are provided to commercial licensees and integration partners under NDA.


MethodPathDescription
GET/healthHealth check (no authentication)