Query

This section describes operations to query various GoPro state / information.

Operations

Get Date Time
Type:

TLV command

ID:
0x0E

Get the current date and time (without daylight savings times and timezone information).

Request
UUID:

Command

Response
UUID:

Command Response

Parameters:
  • response_length (uint8) - length of response payload
  • year (uint16) - year
  • month (uint8) - month from 1 - 12
  • day (uint8) - day from 1 - 31
  • hour (uint8) - hour from 0 - 23
  • minute (uint8) - minute from 0 - 59
  • second (uint8) - second from 0 - 59
  • weekday (uint8) - Sunday = 0, Saturday = 6
Get Hardware Info
https://img.shields.io/badge/HERO12 Black-f58231 https://img.shields.io/badge/HERO11 Black Mini-911eb4 https://img.shields.io/badge/HERO11 Black-f032e6 https://img.shields.io/badge/HERO10 Black-bcf60c https://img.shields.io/badge/HERO9 Black-fabebe
Type:

TLV command

ID:
0x3C

Get information about the camera and firmware.

Note that the model numbers are found under Supported Cameras

Request
UUID:

Command

Response
UUID:

Command Response

Parameters:
  • model_number_length (uint8) - length of model_number parameter
  • model_number (unsigned model_number_length) - model number. See note above.
  • model_name_length (uint8) - length of model_name parameter
  • model_name (string of length model_name_length) - i.e. "HERO12 Black"
  • deprecated_length (uint8) - length of deprecated parameter
  • deprecated (unsigned deprecated_length) - deprecated
  • firmware_version_length (uint8) - length of firmware_version parameter
  • firmware_version (string of length firmware_version_length) - "H23.01.01.99.56"
  • serial_number_length (uint8) - length of serial_number parameter
  • serial_number (string of length serial_number_length) - i.e. "C1234567812345"
  • ap_ssid_length (uint8) - length of ap_ssid parameter
  • ap_ssid (string of length ap_ssid_length) - i.e. "GP12345678"
  • ap_mac_address_length (uint8) - length of ap_mac_address parameter
  • ap_mac_address (string of length ap_mac_address_length) - i.e. "2674f7f65f78"
  • reserved (11 bytes) - reserved data not part of the payload
Get Local Date Time
Type:

TLV command

ID:
0x10

Get the current date and time with daylight savings and timezone information.

Request
UUID:

Command

Response
UUID:

Command Response

Parameters:
  • response_length (uint8) - length of response payload
  • year (uint16) - year
  • month (uint8) - month from 1 - 12
  • day (uint8) - day from 1 - 31
  • hour (uint8) - hour from 0 - 23
  • minute (uint8) - minute from 0 - 59
  • second (uint8) - second from 0 - 59
  • offset (int16) - UTC offset in minutes
  • is_dst (uint8) - Is daylight savings? 1 if yes, 0 if no
Get Last Captured Media
https://img.shields.io/badge/HERO12 Black-f58231
Type:

Protobuf

Request

Get the last captured media filename

Returns a ResponseLastCapturedMedia

UUID:

Query

Feature ID:
0xF5
Action ID:
0x6D
Message:

RequestGetLastCapturedMedia (docs) (source)

Response

The Last Captured Media

Message is sent in response to a RequestGetLastCapturedMedia.

This contains the relative path of the last captured media starting from the DCIM directory on the SDCard. Depending on the type of media captured, it will return:

  • The single media path for single photo/video media

  • The path to the first captured media in the group for grouped media

UUID:

Query Response

Feature ID:
0xF5
Action ID:
0xED
Message:

ResponseLastCapturedMedia (docs) (source)

Get Open GoPro Version
https://img.shields.io/badge/HERO12 Black-f58231 https://img.shields.io/badge/HERO11 Black Mini-911eb4 https://img.shields.io/badge/HERO11 Black-f032e6 https://img.shields.io/badge/HERO10 Black-bcf60c https://img.shields.io/badge/HERO9 Black-fabebe
Type:

TLV command

ID:
0x51

Get the current version of the Open GoPro API.

Request
UUID:

Command

Response
UUID:

Command Response

Parameters:
  • major_length (uint8) - length of major parameter
  • major (unsigned major_length bytes) - major part of version number
  • minor_length (uint8) - length of minor parameter
  • minor (unsigned minor_length bytes) - minor part of version number
Get Setting Values
Type:

TLV query

Get the current value associated with one or more settings.

Note

If the element ID array is empty, all settings will be queried

Request

The element ID array is an array of uint8 Setting IDs to query.

UUID:

Query

ID:
0x12
Response

The fields of the results array are:

  • ID: Setting ID

  • value: Setting value defined via the individual Setting documentation

UUID:

Query Response

ID:
0x12
Get Status Values
Type:

TLV query

Get the current value of one or more camera statuses.

Note

If the element ID array is empty, all statuses will be queried

Request

The element ID array is an array of uint8 Status IDs to query.

UUID:

Query

ID:
0x13
Response

The fields of the results array are:

  • ID: Status ID

  • value: Status value defined via the individual Status documentation

UUID:

Query Response

ID:
0x13
Get Setting Capabilities
Type:

TLV query

Get one or more setting value capabilities. The reported capabilities are only those setting options that are currently supported.

Note

If the element ID array is empty, all settings will be queried.

Request

The element ID array is an array of uint8 Setting IDs to query.

UUID:

Query

ID:
0x32
Response

The fields of the results array are:

  • ID: Setting ID

  • value: Setting value defined via the individual Setting documentation

UUID:

Query Response

ID:
0x32
Register for Setting Value Updates
Type:

TLV query

Register to receive updates when one or more setting values change. The initial response contains the current setting values. Notifications will be sent whenever one of the requested setting’s values change.

Note

If the element ID array is empty, all settings will be registered for.

Request

The element ID array is an array of uint8 Setting IDs to register for.

UUID:

Query

ID:
0x52
Response

The fields of the results array are:

  • ID: Setting ID

  • value: Setting value defined via the individual Setting documentation

UUID:

Query Response

ID:
0x52
Notification

The fields of the results array are:

  • ID: Setting ID

  • value: Setting value defined via the individual Setting documentation

UUID:

Query Response

ID:
0x92
Register for Status Value Updates
Type:

TLV query

Register to receive updates when one or more status values change. The initial response contains the current status values. Notifications will be sent whenever one of the requested statuses’ values change.

Note

If the element ID array is empty, all statuses will be registered for.

Request

The element ID array is an array of uint8 Status IDs to register for.

UUID:

Query

ID:
0x53
Response

The fields of the results array are:

  • ID: Status ID

  • value: Status value defined via the individual Status documentation

UUID:

Query Response

ID:
0x53
Notification

The fields of the results array are:

  • ID: Status ID

  • value: Status value defined via the individual Status documentation

UUID:

Query Response

ID:
0x93
Register for Setting Capability Updates
Type:

TLV query

Register to receive updates when one or more setting capabilities change. The initial response contains the current setting capabilities. Notifications will be sent whenever one of the requested settings’ capabilities change.

Note

If the element ID array is empty, all settings will be registered for.

Request

The element ID array is an array of uint8 Setting IDs to register for.

UUID:

Query

ID:
0x62
Response

The fields of the results array are:

  • ID: Setting ID

  • value: Setting value defined via the individual Setting documentation

UUID:

Query Response

ID:
0x62
Notification

The fields of the results array are:

  • ID: Setting ID

  • value: Setting value defined via the individual Setting documentation

UUID:

Query Response

ID:
0xA2
Unregister for Setting Value Updates
Type:

TLV query

Cancel ongoing setting value updates.

Note

If the element ID array is empty, all settings will be unregistered for.

Request

The element ID array is an array of uint8 Setting IDs to unregister for.

UUID:

Query

ID:
0x72
Response
UUID:

Query Response

ID:
0x72
Unregister for Status Value Updates
Type:

TLV query

Cancel ongoing status value updates.

Note

If the element ID array is empty, all Statuses will be unregistered for.

Request

The element ID array is an array of uint8 Status IDs to unregister for.

UUID:

Query

ID:
0x73
Response
UUID:

Query Response

ID:
0x73
Unregister for Setting Capability Updates
Type:

TLV query

Cancel ongoing setting capability updates.

Note

If the element array is empty, all settings will be unregistered for.

Request

The element ID array is an array of uint8 Setting IDs to unregister for.

UUID:

Query

ID:
0x82
Response
UUID:

Query Response

ID:
0x82