The Open GoPro API is the primary way for users to interact with a GoPro camera. The camera provides interfaces to HTTP (wired and wireless) and Bluetooth Low Energy that allow users to perform command, control, and query actions including, but not limited to:

Feature BLE WiFi USB
Camera Connect / Wake ✔️
Retrieve Camera State ✔️ ✔️ ✔️
Press Shutter ✔️ ✔️* ✔️*
Change Settings / Modes ✔️ ✔️ ✔️
Live Preview ✔️ ✔️
Webcam / UDP Streaming (up to 1080P) ✔️
Media Management ✔️ ✔️
Metadata File Extraction ✔️ ✔️
External Power via same I/O ✔️

* = From Hero 10 onwards