> For the complete documentation index, see [llms.txt](https://developer.fotokite.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.fotokite.com/~/changes/46/fotokite-api/changelog.md).

# Changelog

#### September, 2025

## Sep 12, api-preview v9 (Beta)

|              | Version |
| ------------ | ------- |
| Fotokite API | 0.3.0   |

The following endpoints are implemented as part of the Fotokite API Beta release. Other endpoints are already part of the documentation but not yet implemented.

Please note that with this Beta release, most of the endpoints require now a token for authentication. Learn more in [Getting started](/~/changes/46/getting-started.md#authentication).

The current implementation, including endpoints, definitions, and example code, is still under active development and subject to change. Please be aware that details may be updated before the final version.

<table><thead><tr><th valign="top">Category</th><th valign="top">Endpoint</th><th>Status</th></tr></thead><tbody><tr><td valign="top"><a href="/~/changes/46/fotokite-api/health.md">Health</a></td><td valign="top"><a href="/~/changes/46/fotokite-api/health.md#get-v0-health">Health Check</a></td><td><mark style="color:green;">Implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/health.md#get-v0-version">Version</a></td><td><mark style="color:green;">Implemented</mark></td></tr><tr><td valign="top"><a href="/~/changes/46/fotokite-api/system.md">System</a></td><td valign="top"><a href="/~/changes/46/fotokite-api/system.md#get-v0-info-system">System Information</a></td><td><mark style="color:green;">Implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/system.md#get-v0-telemetry-system">Get system dynamic information</a></td><td><mark style="color:green;">Implemented</mark></td></tr><tr><td valign="top"><a href="/~/changes/46/fotokite-api/camera.md">Camera</a></td><td valign="top"><a href="/~/changes/46/fotokite-api/camera.md#get-v0-info-camera">Get camera information</a></td><td><mark style="color:green;">Implemented (New)</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/camera.md#post-v0-commands-camera-rotate_by_angle">Rotate by angle</a></td><td><mark style="color:green;">Implemented (New)</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/camera.md#post-v0-commands-camera-rotate_to_angle">Rotate to angle</a></td><td><mark style="color:green;">Implemented (New)</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/camera.md#post-v0-commands-camera-rotate_with_speed">Rotate with speed</a></td><td><mark style="color:green;">Implemented (New)</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/camera.md#get-v0-info-videostreams">Get video stream settings</a></td><td><mark style="color:green;">Implemented (New)</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/camera.md#get-v0-telemetry-videostreams">Get video stream telemetry</a> </td><td><mark style="color:green;">Implemented (New)</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/camera.md#get-v0-telemetry-videostreams-stream_id">Get video stream telemetry (single video stream)</a> </td><td><mark style="color:green;">Implemented (New)</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/camera.md#post-v0-commands-videostreams-stream_id-palette">Set zoom</a></td><td><mark style="color:green;">Implemented (New)</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/camera.md#get-v0-commands-videostreams-stream_id-snapshot">Set thermal color palette</a></td><td><mark style="color:green;">Implemented (New)</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/camera.md#get-v0-commands-videostreams-stream_id-snapshot">Get snapshot</a></td><td><mark style="color:$info;">Not implemented</mark></td></tr><tr><td valign="top"><a href="/~/changes/46/fotokite-api/notifications.md">Notifications</a></td><td valign="top"><a href="/~/changes/46/fotokite-api/notifications.md#get-v0-telemetry-notifications">Get system notifications</a></td><td><mark style="color:green;">Implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/notifications.md#get-v0-info-notifications-dictionary">Get Notifications Dictionary</a></td><td><mark style="color:green;">Implemented</mark></td></tr><tr><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md">Flight</a></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#get-v0-info-flight-hard_limits">Get Flight hard limits</a></td><td><mark style="color:green;">Implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#get-v0-info-flight-takeoff_altitude">Request the Kite takeoff altitude</a></td><td><mark style="color:green;">Implemented</mark></td></tr><tr><td valign="top"></td><td valign="top">Rotate by angle</td><td><mark style="color:red;">Removed</mark></td></tr><tr><td valign="top"></td><td valign="top">Rotate to angle</td><td><mark style="color:red;">Removed</mark></td></tr><tr><td valign="top"></td><td valign="top">Rotate with speed</td><td><mark style="color:red;">Removed</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#get-v0-telemetry-flight">Get flight dynamic information</a></td><td><mark style="color:green;">Implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#get-v0-telemetry-flight-soft_limits">Request the Kite flight soft limits</a></td><td><mark style="color:green;">Implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#post-v0-commands-flight-take_off">Send command to take off the Kite</a></td><td><mark style="color:green;">Implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#post-v0-commands-flight-land">Send command to land the Kite</a></td><td><mark style="color:green;">Implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#post-v0-commands-flight-abort">Send command to abort taking off or landing</a></td><td><mark style="color:green;">Implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#post-v0-commands-flight-set_altitude">Set Kite target altitude</a></td><td><mark style="color:green;">Implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#put-v0-commands-flight-set_soft_limits">Set the Kite flight soft limits</a></td><td><mark style="color:green;">Implemented</mark></td></tr><tr><td valign="top"><a href="/~/changes/46/fotokite-api/media.md">Media</a></td><td valign="top"><a href="/~/changes/46/fotokite-api/media.md#get-v0-media-recordings">Lists video recordings</a></td><td><mark style="color:$info;">Not implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/media.md#get-v0-media-recordings-recording">Get video recording details</a></td><td><mark style="color:$info;">Not implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/media.md#delete-v0-media-recordings-recording">Delete video recordings</a></td><td><mark style="color:$info;">Not implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/media.md#get-v0-media-recordings-recording-file">Download video</a></td><td><mark style="color:$info;">Not implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/media.md#get-v0-media-recorder-status">Recorder status</a></td><td><mark style="color:$info;">Not implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/media.md#get-v0-media-diskstats">SSD disk stats</a></td><td><mark style="color:$info;">Not implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/media.md#post-v0-commands-recorder-start">Start recording</a></td><td><mark style="color:$info;">Not implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/media.md#post-v0-commands-recorder-stop">Stop recording</a></td><td><mark style="color:$info;">Not implemented</mark></td></tr><tr><td valign="top"><a href="/~/changes/46/fotokite-api/software.md">Software</a></td><td valign="top"><a href="/~/changes/46/fotokite-api/software.md#get-v0-software-version">Get software version</a></td><td><mark style="color:green;">Implemented (New)</mark></td></tr><tr><td valign="top"><a href="/~/changes/46/fotokite-api/authentication.md">Authentication</a></td><td valign="top"><a href="/~/changes/46/fotokite-api/authentication.md#post-v0-authentication-tokens-request">Request a token</a></td><td><mark style="color:green;">Implemented (New)</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/authentication.md#post-v0-authentication-tokens-invalidate">Invalidate a token</a></td><td><mark style="color:green;">Implemented (New)</mark></td></tr><tr><td valign="top"><a href="/~/changes/46/fotokite-api/handoff.md">Handoff</a></td><td valign="top"><a href="/~/changes/46/fotokite-api/handoff.md#get-v0-handoff-control-status">Get control status</a></td><td><mark style="color:$info;">Not implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/handoff.md#post-v0-handoff-control-request">Request control</a></td><td><mark style="color:$info;">Not implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/handoff.md#post-v0-handoff-control-release">Release control</a></td><td><mark style="color:$info;">Not implemented</mark></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/handoff.md#post-v0-handoff-control-override">Override control</a></td><td><mark style="color:$info;">Not implemented</mark></td></tr></tbody></table>

#### August, 2025

## Aug 15, api-preview v8 (Alpha)

|              | Version |
| ------------ | ------- |
| Fotokite API | 0.2.0   |

* NEW: [Health](/~/changes/46/fotokite-api/health.md#get-v0-version) endpoint to get the API version
* Fixed non-positive rotation speeds for [Flight](/~/changes/46/fotokite-api/flight.md#post-v0-commands-flight-rotate_with_speed)
* Changed [Flight](/~/changes/46/fotokite-api/flight.md#post-v0-commands-flight-set_soft_limits) (From PUT to POST)
* Altitude is now a required parameter for [Flight](/~/changes/46/fotokite-api/flight.md#post-v0-commands-flight-set_altitude)
* [Flight](/~/changes/46/fotokite-api/flight.md#post-v0-commands-flight-rotate_with_speed) returns HTTP 503 if it doesn't have the necessary data
* Fixed multiple calculation issues in [Flight](/~/changes/46/fotokite-api/flight.md#post-v0-commands-flight-rotate_to_angle)
* Fixed is\_rotating flag flickering in [Flight](/~/changes/46/fotokite-api/flight.md#get-v0-telemetry-flight) (accidentally switching to true when Kite is stable)
* Max altitude soft limit now equals to altitude hard limit (45m) at startup

#### July, 2025

## Jul 24, api-preview v7 (Alpha)

|              | Version |
| ------------ | ------- |
| Fotokite API | 0.1.0   |

* NEW: Get the Fotokite API version. Learn more in [Health](/~/changes/46/fotokite-api/health.md#get-v0-version) .
* NEW: We have added new fields to check whether the system was able to determine an accurate position via GPS. \
  \- `gs_gps_has_fix` added in [System](/~/changes/46/fotokite-api/system.md#get-v0-telemetry-system)\
  \- `kite_gps_has_fix` added in [Flight](/~/changes/46/fotokite-api/flight.md#get-v0-telemetry-flight)\
  The other GPS fields will not be present when the fields are false.
* Change to the data format for subscription on [Notifications](/~/changes/46/code-examples/notifications.md#notification-telemetry) (send bare notifications, instead of the container returned by the GET endpoint). Learn more in [Notifications](/~/changes/46/code-examples/notifications.md).

## Jul 18, api-preview v6 (Alpha)

The following endpoints are implemented as part of the Fotokite API Alpha release. Other endpoints are already part of the documentation but not yet implemented.

The current implementation, including endpoints, definitions, and example code, is still under active development and subject to change. Please be aware that details may be updated before the final version.

<table><thead><tr><th valign="top">Category</th><th valign="top">Endpoint</th></tr></thead><tbody><tr><td valign="top"><a href="/~/changes/46/fotokite-api/health.md">Health</a></td><td valign="top"><a href="/~/changes/46/fotokite-api/health.md#get-v0-health">Health Check</a></td></tr><tr><td valign="top"><a href="/~/changes/46/fotokite-api/system.md">System</a></td><td valign="top"><a href="/~/changes/46/fotokite-api/system.md#get-v0-info-system">System Information</a></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/system.md#get-v0-telemetry-system">Get system dynamic information</a></td></tr><tr><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md">Flight</a></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#get-v0-info-flight-hard_limits">Get Flight hard limits</a></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#get-v0-info-flight-takeoff_altitude">Request the Kite takeoff altitude</a></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#get-v0-telemetry-flight">Get flight dynamic information</a></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#get-v0-telemetry-flight-soft_limits">Request the Kite flight soft limits</a></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#post-v0-commands-flight-take_off">Send command to take off the Kite</a></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#post-v0-commands-flight-land">Send command to land the Kite</a></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#post-v0-commands-flight-abort">Send command to abort taking off or landing</a></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#post-v0-commands-flight-set_altitude">Set Kite target altitude</a></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#post-v0-commands-flight-rotate_by_angle">Rotate the Kite by the angle specified (change its heading)</a></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#post-v0-commands-flight-rotate_with_speed">Rotate the Kite with the angle speed specified (change its heading)</a></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#post-v0-commands-flight-rotate_to_angle">Rotate the Kite (set Kite heading) to the heading specified.</a></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/flight.md#put-v0-commands-flight-set_soft_limits">Set the Kite flight soft limits</a></td></tr><tr><td valign="top"><a href="/~/changes/46/fotokite-api/notifications.md">Notifications</a></td><td valign="top"><a href="/~/changes/46/fotokite-api/notifications.md#get-v0-telemetry-notifications">Get system notifications</a></td></tr><tr><td valign="top"></td><td valign="top"><a href="/~/changes/46/fotokite-api/notifications.md#get-v0-info-notifications-dictionary">Get Notifications Dictionary</a></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://developer.fotokite.com/~/changes/46/fotokite-api/changelog.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
