Webhooks allow Skydio Cloud to send real-time notifications about events happening in your fleet, without you having to poll the Skydio Cloud API for updates. This enables you to write code that takes immediate action based on a trigger from Skydio Cloud. For example, you can receive a webhook notification every time a flight starts in your organization and based on that notify your drone manager on their platform of choice.
Creating Webhooks
Navigate to the Webhooks page under Settings -> Webhooks in Skydio Cloud.
Click the Create Webhook button and enter the form details to set up your webhook.
Configuring Webhooks
Once a webhook has been created, it can be configured to receive various notifications under Settings -> Alerts.
Expected request
Once created and configured, your webhook will receive a POST request with the following structure:
Headers
{
"Content-Type": "application/json",
"Accept": "application/json"
}Body
{
"id": "479b4057-bf9c-46e5-9ab8-258ac37f6362",
"event_type": "skydio.cloud.event.flight_state",
"event_time": "2022-12-28T18:13:43.583939+00:00",
"data": {
"resource": {
// Different resource schema per event_type
"type": "FLIGHT_START",
"time": "2022-12-28T18:13:43.583901+00:00",
"flight_id": "0A9F36D0122642D4BB8A519B00F61D5B",
"vehicle_serial": "Skydio-123"
}
}
}Expected response
Skydio Cloud expects your endpoint to return a 200 HTTP status code when it successfully receives the request.
Any non-200 HTTP status codes will be detected as a failed request and the Skydio Cloud will retry sending the request.
Retry configuration
Requests will be retried up to 7 times if they fail to receive a 200 status code from your endpoint. Time between retries will increase exponentially from 1 second by a factor of 10, up to a maximum of 1000 seconds. With this configuration, the first retry will be attempted 1s after the original, the second retry will be 10s after that, and the 6th and 7th retries will be 1000s apart. After 7 attempts, the request will not be sent again.
