Handoff
Returns the current handoff control state, including which client (Fotokite Live, Fotokite API, or Plugin) currently controls the system and which clients have requested control. Subscribing to this endpoint is recommended to receive real-time updates.
- : Grants access to retrieve system data and information.
Plugin authentication using Bearer token. For more details, see Fotokite API Documentation.
Success
Information about connected and controlling entities.
GET /api/v1/handoff/state HTTP/1.1
Host: 192.168.2.100:3128
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Success
{
"controlling_client": {
"plugin_id": "My controlling plugin id",
"plugin_name": "My controlling plugin",
"session_id": "5",
"session_name": "Only session",
"operator_name": "Quick brown fox",
"last_change": "2025-08-25T18:47:21.191Z"
},
"requesting_clients": [
{
"plugin_id": "Fotokite Live",
"plugin_name": "Fotokite Live",
"session_id": "3",
"session_name": "Fotokite-D",
"operator_name": "Fotokite-D",
"last_change": "2025-08-25T18:48:01.111Z"
},
{
"plugin_id": "My cool plugin Id",
"plugin_name": "My cool plugin",
"session_id": "7",
"session_name": "Main session",
"operator_name": "Mr. Handoff",
"last_change": "2025-08-25T18:53:11.839Z"
}
]
}Requests control of the Fotokite system. If no other client (Fotokite Live, Fotokite API, Plugin) is controlling, control is granted. If another client is controlling, the request is added to the waiting list (requesting_clients) in handoff/state. A request remains valid for 1 minute; clients should periodically re-request control. The result of the request must be monitored using the handoff/state endpoint.
- : Allows sending commands to control the system.
Plugin authentication using Bearer token. For more details, see Fotokite API Documentation.
Request to take control
Name of the operator taking control for display in UI.
DroneID regulation variant that the UI provided to the operator complies with. DroneID broadcasts such as those required for FAA RemoteID contain information about the UAS operator. This endpoint can be used to provide such information. An update must be provided regularly according to the applicable regulation to prevent entering a DroneID error state (this may require sending handoff requests more frequently than it is required normally). By setting this value, you declare compliance with the relevant regulation. For the US:
- An operator location of sufficient accuracy is required. A GPS receiver with SBAS augmentation is sufficient.
- Any DroneID error reported by the
/system/stateendpoint must cause an audiovisual indicator to signal a Remote ID failure to the operator.
Please refer to FAA 14 CFR Part 89, ASTM F3411 and ASTM F3586 for details. Possible values:
US_REMOTE_ID_STANDARDunsetIf unset, this operator is not considered as a UAS operator, and a RemoteID error might occur if regulation requires an operator but no other operator is present. If no location information is provided, it is assumed that the operator is in direct vicinity of the Ground Station and the Ground Station location is used as the operator location.
US_REMOTE_ID_STANDARDLatitude of the operator reported by GPS [-90..+90] (degrees)
Longitude of the operator reported by GPS (-180..+180] (degrees)
Elevation of the operator reported by GPS (meters)
Operator GPS accuracy in meters
Request to take control was accepted. This means that either the system is not controlled right now or the requestor already has control. Control will be revoked after 10 seconds. To prevent this, the requestor should periodically call handoff/control/request.
No content
Request was queued. This means that there is another entity controlling the system right now. The requestor should subscribe to the handoff/state endpoint or poll it to see the result of the request. It is also important to note that the request will be cleared after 1 minute if not taken.
Request parameter doesn't meet criteria
Internal error
POST /api/v1/handoff/control/request HTTP/1.1
Host: 192.168.2.100:3128
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 31
{
"operator_name": "Mr. Handoff"
}No content
Releases control of the Fotokite system, allowing other clients (Fotokite Live, Fotokite API, or Plugin) to take control.
- : Allows sending commands to control the system.
Plugin authentication using Bearer token. For more details, see Fotokite API Documentation.
Command was released successfully or requesting client successfully removed from the waiting queue or no one was controlling.
No content
Internal error
POST /api/v1/handoff/control/release HTTP/1.1
Host: 192.168.2.100:3128
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
No content
Immediately enforces control of the Fotokite system, overriding other clients (Fotokite Live, Fotokite API, or Plugin) that may be blocking access. This endpoint is intended for use mainly by Fotokite Live.
- : Allows sending commands to control the system.
- : Allows to make `handoff/control/override` call to override current controlling client.
Plugin authentication using Bearer token. For more details, see Fotokite API Documentation.
Request to take control
Name of the operator taking control for display in UI.
DroneID regulation variant that the UI provided to the operator complies with. DroneID broadcasts such as those required for FAA RemoteID contain information about the UAS operator. This endpoint can be used to provide such information. An update must be provided regularly according to the applicable regulation to prevent entering a DroneID error state (this may require sending handoff requests more frequently than it is required normally). By setting this value, you declare compliance with the relevant regulation. For the US:
- An operator location of sufficient accuracy is required. A GPS receiver with SBAS augmentation is sufficient.
- Any DroneID error reported by the
/system/stateendpoint must cause an audiovisual indicator to signal a Remote ID failure to the operator.
Please refer to FAA 14 CFR Part 89, ASTM F3411 and ASTM F3586 for details. Possible values:
US_REMOTE_ID_STANDARDunsetIf unset, this operator is not considered as a UAS operator, and a RemoteID error might occur if regulation requires an operator but no other operator is present. If no location information is provided, it is assumed that the operator is in direct vicinity of the Ground Station and the Ground Station location is used as the operator location.
US_REMOTE_ID_STANDARDLatitude of the operator reported by GPS [-90..+90] (degrees)
Longitude of the operator reported by GPS (-180..+180] (degrees)
Elevation of the operator reported by GPS (meters)
Operator GPS accuracy in meters
Success, command taken.
No content
Failure, current session can't command the system right now.
Internal error
POST /api/v1/handoff/control/override HTTP/1.1
Host: 192.168.2.100:3128
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 31
{
"operator_name": "Mr. Handoff"
}No content
Last updated