{ "opencollection": "1.0.0", "info": { "name": "Fly.io Extensions Apps Webhooks API", "version": "1.0" }, "request": { "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "items": [ { "info": { "name": "Webhooks", "type": "folder" }, "items": [ { "info": { "name": "Send a webhook to Fly.io", "type": "http" }, "http": { "method": "POST", "url": "https://{provider_base_url}/api/hooks/extensions/:provider_name", "params": [ { "name": "provider_name", "value": "", "type": "path", "description": "The slug identifier of the extension provider registered with Fly.io." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "X-Fly-Signature", "value": "{{X-Fly-Signature}}", "placement": "header" } }, "docs": "Called by extension providers to notify Fly.io of resource lifecycle changes. Use this endpoint to report when asynchronously provisioned resources become ready, when resources are updated, or when they are deleted. Requests must be signed with the HMAC-SHA256 webhook signing secret provided by Fly.io." }, { "info": { "name": "Receive a machine event webhook from Fly.io", "type": "http" }, "http": { "method": "POST", "url": "https://{provider_base_url}/extensions/events", "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "X-Fly-Signature", "value": "{{X-Fly-Signature}}", "placement": "header" } }, "docs": "Fly.io sends CloudEvents-format webhook payloads to this provider endpoint when Machine or account events occur that are relevant to an extension. Providers should verify the HMAC-SHA256 signature using the webhook signing secret provided by Fly.io and process the event accordingly." } ] } ], "bundled": true }