Skip to main content
Fly.io logo

Fly.io

Manage Fly.io end to end: apps, machines, volumes, secrets via the Machines API, plus public IP allocation and custom domains (TLS certificates) via the GraphQL API - everything needed to fully host a publicly reachable project. Exposes 34 actions covering the API surface an agent needs - read and write.

What it can do

MethodWhat it does
flyio_apps_listList all apps - GET /apps.
flyio_app_getGet one app by ID - GET /apps/{app_id}.
flyio_app_createCreate a new app - POST /apps.
flyio_app_deleteDelete an app - DELETE /apps/{app_id}.
flyio_machines_listList machines in an app - GET /apps/{app_id}/machines.
flyio_machine_getGet one machine - GET /apps/{app_id}/machines/{machine_id}.
flyio_machine_createCreate a new machine - POST /apps/{app_id}/machines.
flyio_machine_updateUpdate a machine configuration - POST /apps/{app_id}/machines/{machine_id}.
flyio_machine_startStart a stopped machine - POST /apps/{app_id}/machines/{machine_id}/start.
flyio_machine_stopStop a running machine - POST /apps/{app_id}/machines/{machine_id}/stop.
flyio_machine_restartRestart a machine - POST /apps/{app_id}/machines/{machine_id}/restart.
flyio_machine_waitWait for a machine to reach a state - POST /apps/{app_id}/machines/{machine_id}/wait.
flyio_machine_execExecute a command on a machine - POST /apps/{app_id}/machines/{machine_id}/exec.
flyio_machine_deleteDelete a machine - DELETE /apps/{app_id}/machines/{machine_id}.
flyio_volumes_listList volumes in an app - GET /apps/{app_id}/volumes.
flyio_volume_getGet one volume - GET /apps/{app_id}/volumes/{volume_id}.
flyio_volume_createCreate a new volume - POST /apps/{app_id}/volumes.
flyio_volume_extendExtend (resize) a volume - POST /apps/{app_id}/volumes/{volume_id}/extend.
flyio_volume_deleteDelete a volume - DELETE /apps/{app_id}/volumes/{volume_id}.
flyio_secrets_listList secrets in an app - GET /apps/{app_id}/secrets.
flyio_secret_setSet or update a secret - POST /apps/{app_id}/secrets.
flyio_secret_deleteDelete a secret - DELETE /apps/{app_id}/secrets/{key}.
flyio_leases_listList leases in an app - GET /apps/{app_id}/leases.
flyio_lease_getGet one lease - GET /apps/{app_id}/leases/{lease_id}.
flyio_lease_acquireAcquire a lease on a machine - POST /apps/{app_id}/machines/{machine_id}/lease.
flyio_lease_releaseRelease a lease - DELETE /apps/{app_id}/leases/{lease_id}.
flyio_ips_listList an app's allocated IP addresses (GraphQL).
flyio_ip_allocateAllocate a public IP for an app (GraphQL) - shared_v4 (free), v4, v6, private_v6.
flyio_ip_releaseRelease an app's IP address (GraphQL).
flyio_certs_listList an app's TLS certificates / custom domains (GraphQL).
flyio_cert_getGet one certificate, including the DNS records to add (GraphQL).
flyio_cert_addAttach a custom domain (add a certificate) and return DNS validation instructions (GraphQL).
flyio_cert_deleteRemove a custom domain / certificate (GraphQL).
flyio_graphqlGeneric Fly.io GraphQL passthrough for anything else.

Public hosting: IPs and custom domains

To make an app reachable on the public internet, allocate an IP address with flyio_ip_allocate. shared_v4 is free and works for most apps; for a fully dedicated public endpoint allocate a dedicated v4 (paid) plus a free v6.

To serve a custom domain, call flyio_cert_add with your hostname (e.g. www.example.com). It returns DNS validation instructions (dnsValidationHostname / dnsValidationTarget); add those records at your DNS provider, then poll flyio_cert_get until clientStatus is Ready.

These networking actions use the Fly.io GraphQL API (https://api.fly.io/graphql) with the same FLY_API_TOKEN.

How to get credentials

This connector uses an API key / token. Create one in the provider dashboard, then paste it into FlyMyAI:

Fields to fill in FlyMyAI

FlyMyAI fieldWhere it comes from
FLY_API_TOKENRun fly auth token, or Fly.io - Account - Access Tokens.

Troubleshooting

  • 401 Unauthorized / 403 Forbidden - the token is wrong, expired, or missing a required scope; regenerate it.
  • 429 Too Many Requests - provider rate limit; retry after a short backoff.
  • Unexpected 4xx on writes - double-check required fields; the agent confirms before write actions.
We love our partners - FlyMy.AI builds with the best. Thanks, Fly.io!