fly-io · AsyncAPI Specification
Fly.io Extensions Webhook Events
Version 1.0
The Fly.io Extensions webhook system delivers real-time event notifications in both directions between Fly.io and extension providers. Fly.io sends CloudEvents-format payloads to the provider's registered endpoint URL when machine lifecycle events occur that are relevant to an extension resource. Extension providers send lifecycle status updates back to Fly.io at the platform webhook endpoint when asynchronously provisioned resources become ready, are updated, or are deleted. All webhook payloads in both directions are signed using HMAC-SHA256 with separate shared secrets, allowing each party to verify authenticity before processing events.
Channels
/api/hooks/extensions/{provider_name}
Receive a lifecycle webhook from an extension provider
Fly.io platform endpoint that receives webhook notifications from extension providers about resource lifecycle changes. Providers post to this channel to notify Fly.io when asynchronously provisioned resources become ready, when resource configuration changes, or when resources are removed.
/extensions/events
Receive a machine or account event from Fly.io
Provider-hosted endpoint that receives CloudEvents-format webhook notifications from Fly.io about machine and account lifecycle events. Providers register this endpoint with Fly.io and must verify the HMAC-SHA256 signature on all incoming payloads.
Messages
ResourceCreated
Extension Resource Created
Notifies Fly.io that an extension resource has been provisioned
ResourceUpdated
Extension Resource Updated
Notifies Fly.io that an extension resource has been updated
ResourceDeleted
Extension Resource Deleted
Notifies Fly.io that an extension resource has been deleted
MachineStarted
Fly Machine Started
Notifies the provider that a Fly Machine has started
MachineStopped
Fly Machine Stopped
Notifies the provider that a Fly Machine has stopped
MachineDestroyed
Fly Machine Destroyed
Notifies the provider that a Fly Machine has been destroyed
AccountChanged
Fly.io Account Changed
Notifies the provider that a Fly.io account has changed
Servers
https
flyio
https://api.fly.io
Fly.io platform server that receives webhook notifications from extension providers and sends CloudEvents to provider webhook endpoints.
https
provider
https://{provider_base_url}
Provider-hosted server that receives CloudEvent webhook notifications from Fly.io about machine and account lifecycle events relevant to their extension resources.