Manual

Troubleshooting and compatibility

Diagnose authentication, transport, upload, browsing, playback, and version problems.

Request failures

Symptom Likely cause Action
TLS or hostname failure Wrong base URL, CA, system time, or proxy Verify endpoint, certificate chain, hostname, and clock
401 Missing or expired credential Refresh the token or repair device certificate selection
403 Missing permission or product capability Check identity, ownership, and Account Manager capability data
404 Wrong device/clip or deleted resource Refresh device and clip state
410 from clip upload Legacy upload route after direct-upload cutover Use authorize, presigned PUT, complete, and status APIs
Timeout Network path, server load, or an operation deadline that is too short Capture correlation IDs and retry only when safe

Upload failures

Presigned PUT failures commonly result from a changed signed header, wrong content length, bearer token leakage to object storage, expired URL, early EOF, or a ciphertext hash mismatch. Do not complete an upload unless the PUT returned success. Poll the upload record to distinguish verification failure from expiration.

Playback failures

Create a new session when a URL expires. For encrypted clips, verify that the provider used the active playback public key and returned both wrapped fields. Confirm that the platform player supports the returned content type and HTTP range requests. Never replace playback-session authorization with the legacy query token.

Version mismatch

Use the documentation manifest to compare SDK commit and version. Regenerate references when exported symbols change. A server contract change must update the normative contract and SDK compatibility tests before user documentation claims support.

Support evidence

Provide SDK version, server version, platform/toolchain version, operation name, stable status, HTTP status, sanitized correlation IDs, and reproduction steps. Do not attach tokens, private keys, presigned URLs, wrapped keys, or customer media.

Other manual chapters

Continue with related manual sections.

SDK overview

Choose the right package and understand support boundaries.

Open section

Getting started

Install an SDK, configure a client, and complete a first request.

Open section

Authentication and security

Handle bearer tokens, PKI, TLS, keys, and sensitive media safely.

Open section

Lifecycle and errors

Apply timeout, retry, cancellation, callback, and shutdown rules.

Open section

Capability workflows

Integrate provisioning, devices, telemetry, OTA, commands, and signaling.

Open section

Video Cloud workflows

Integrate Live WebRTC signaling and encrypted stored-video upload, browsing, and playback.

Open section

Native C and C++ SDK

Use the stable C ABI, thin C++ wrapper, transports, and streaming uploads.

Open section

Android Kotlin SDK

Use Kotlin APIs, coroutines, Media3 playback, and secure key providers.

Open section

iOS Swift SDK

Use Swift APIs, async operations, AVPlayer, Keychain, and Secure Enclave boundaries.

Open section

JavaScript and TypeScript SDK

Integrate the typed ESM package in browser and Node.js applications.

Open section

Go SDK

Use the pure Go client for devices, tools, and automation.

Open section

FreeRTOS and Pro2 SDK

Integrate board adapters, device transport, and WebRTC answerer boundaries.

Open section

Sample applications

Build and use the Android, iOS, Web, Linux, and Pro2 reference samples.

Open section