Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

fly-io Webhooks API

Webhook endpoints for bidirectional event delivery between Fly.io and extension providers. Both sides sign their webhook payloads using HMAC-SHA256 for verification.

fly-io Webhooks API is one of 9 APIs that fly-io publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Webhooks. The published artifact set on APIs.io includes an OpenAPI specification.

This API exposes 2 operations across 2 paths, and defines 3 schemas. It is described by OpenAPI 3.1.0, at version 1.0.

Requests are made against 2 base URLs: https://{provider_base_url}, https://api.fly.io.

2 operations 2 paths 3 schemas 2 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
1.0
Base URL
https://api.machines.dev
Authentication
HTTP Bearer, HTTP Bearer, API Key
Terms of Service
Resource Areas
1

Authentication & Security 3

fly-io Webhooks API declares 3 security schemes for authenticating requests. It accepts HTTP bearer tokens (flySharedSecret). It accepts HTTP bearer tokens (oauthBearerAuth). An API key is passed in the header as X-Fly-Signature (webhookHmac). By default, every request must be authenticated.

  • flySharedSecret — Shared secret provided by Fly.io to the extension provider. Fly.io includes this secret in an Authorization Bearer header on all requests to the provider's API…
  • oauthBearerAuth — Fly.io OAuth access token obtained from the token exchange endpoint.
  • webhookHmac — HMAC-SHA256 signature of the raw request body, computed using the webhook signing secret. Recipients must verify this signature before processing the payload.

Paths & Operations 2

Across 2 paths, the API surfaces 2 operations — 2 POST. Each is listed below with its method, path, parameters, and response codes.

Webhooks 2

Webhook endpoints for bidirectional event delivery between Fly.io and extension providers. Both sides sign their webhook payloads using HMAC-SHA256 for verification.

POST
/api/hooks/extensions/{provider_name}
Send a webhook to Fly.io
sendExtensionWebhook 1 param body → 200401
POST
/extensions/events
Receive a machine event webhook from Fly.io
receiveExtensionEvent body → 200401

Schemas 3

The contract defines 3 schemas that model the data the API accepts and returns. The most detailed are CloudEventPayload (7 properties), ExtensionWebhookPayload (3 properties), ErrorResponse (2 properties). Each schema is shown below with its type and property counts.

CloudEventPayload
object
A CloudEvents-format payload sent by Fly.io to the extension provider for machine and account lifecycle events.
7 properties 4 required
ExtensionWebhookPayload
object
Payload sent by extension providers to notify Fly.io of resource lifecycle changes.
3 properties 2 required
ErrorResponse
object
A standard error response.
2 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

fly-io-webhooks-api-openapi.yml Raw ↑

Other APIs fly-io publishes across the network.

Fly.io Machines API
Fly.io GraphQL API
Fly.io Extensions API
fly-io Apps API
fly-io OAuth API
fly-io SSO API
fly-io Tokens API
fly-io Volumes API