All integrations

Fly.io

DEVELOPER · DEVELOPER

Apps, machines, volumes, and Postgres clusters under their own token.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

flyio_delete_v1_apps_by_app_nameWRITE

Apps delete via DELETE /v1/apps/{app_name}

api
flyio_delete_v1_apps_by_app_name_certificates_by_hostnameWRITE

App certificates delete via DELETE /v1/apps/{app_name}/certificates/{hostname}

api
flyio_delete_v1_apps_by_app_name_certificates_by_hostname_acmeWRITE

App certificates acme delete via DELETE /v1/apps/{app_name}/certificates/{hostname}/acme

api
flyio_delete_v1_apps_by_app_name_certificates_by_hostname_customWRITE

App certificates custom delete via DELETE /v1/apps/{app_name}/certificates/{hostname}/custom

api
flyio_delete_v1_apps_by_app_name_ip_assignments_by_ipWRITE

App ip assignments delete via DELETE /v1/apps/{app_name}/ip_assignments/{ip}

api
flyio_delete_v1_apps_by_app_name_machines_by_machine_idWRITE

Machines delete via DELETE /v1/apps/{app_name}/machines/{machine_id}

api
flyio_delete_v1_apps_by_app_name_machines_by_machine_id_leaseWRITE

Machines release lease via DELETE /v1/apps/{app_name}/machines/{machine_id}/lease

api
flyio_delete_v1_apps_by_app_name_machines_by_machine_id_metadata_by_keyWRITE

Machines delete metadata via DELETE /v1/apps/{app_name}/machines/{machine_id}/metadata/{key}

api
flyio_delete_v1_apps_by_app_name_secretkeys_by_secret_nameWRITE

Secretkey delete via DELETE /v1/apps/{app_name}/secretkeys/{secret_name}

api
flyio_delete_v1_apps_by_app_name_secrets_by_secret_nameWRITE

Secret delete via DELETE /v1/apps/{app_name}/secrets/{secret_name}

api
flyio_delete_v1_apps_by_app_name_volumes_by_volume_idWRITE

Volume delete via DELETE /v1/apps/{app_name}/volumes/{volume_id}

api
flyio_delete_v1_postgres_by_postgres_cluster_idWRITE

Postgres delete via DELETE /v1/postgres/{postgres_cluster_id}

api
flyio_delete_v1_postgres_by_postgres_cluster_id_attachments_by_app_nameWRITE

Postgres attachments delete via DELETE /v1/postgres/{postgres_cluster_id}/attachments/{app_name}

api
flyio_delete_v1_postgres_by_postgres_cluster_id_databases_by_database_nameWRITE

Postgres databases delete via DELETE /v1/postgres/{postgres_cluster_id}/databases/{database_name}

api
flyio_delete_v1_postgres_by_postgres_cluster_id_databases_by_database_name_extensions_by_extension_nameWRITE

Postgres extensions disable via DELETE /v1/postgres/{postgres_cluster_id}/databases/{database_name}/extensions/{extension_name}

api
flyio_delete_v1_postgres_by_postgres_cluster_id_users_by_usernameWRITE

Postgres users delete via DELETE /v1/postgres/{postgres_cluster_id}/users/{username}

api
flyio_get_v1_appsREAD

Apps list via GET /v1/apps

api
flyio_get_v1_apps_by_app_nameREAD

Apps show via GET /v1/apps/{app_name}

api
flyio_get_v1_apps_by_app_name_certificatesREAD

App certificates list via GET /v1/apps/{app_name}/certificates

api
flyio_get_v1_apps_by_app_name_certificates_by_hostnameREAD

App certificates show via GET /v1/apps/{app_name}/certificates/{hostname}

api
flyio_get_v1_apps_by_app_name_ip_assignmentsREAD

App ip assignments list via GET /v1/apps/{app_name}/ip_assignments

api
flyio_get_v1_apps_by_app_name_machinesREAD

Machines list via GET /v1/apps/{app_name}/machines

api
flyio_get_v1_apps_by_app_name_machines_by_machine_idREAD

Machines show via GET /v1/apps/{app_name}/machines/{machine_id}

api
flyio_get_v1_apps_by_app_name_machines_by_machine_id_eventsREAD

Machines list events via GET /v1/apps/{app_name}/machines/{machine_id}/events

api
flyio_get_v1_apps_by_app_name_machines_by_machine_id_leaseREAD

Machines show lease via GET /v1/apps/{app_name}/machines/{machine_id}/lease

api
flyio_get_v1_apps_by_app_name_machines_by_machine_id_memoryREAD

Machines get memory via GET /v1/apps/{app_name}/machines/{machine_id}/memory

api
flyio_get_v1_apps_by_app_name_machines_by_machine_id_metadataREAD

Machines show metadata via GET /v1/apps/{app_name}/machines/{machine_id}/metadata

api
flyio_get_v1_apps_by_app_name_machines_by_machine_id_metadata_by_keyREAD

Machines get metadata key via GET /v1/apps/{app_name}/machines/{machine_id}/metadata/{key}

api
flyio_get_v1_apps_by_app_name_machines_by_machine_id_psREAD

Machines list processes via GET /v1/apps/{app_name}/machines/{machine_id}/ps

api
flyio_get_v1_apps_by_app_name_machines_by_machine_id_versionsREAD

Machines list versions via GET /v1/apps/{app_name}/machines/{machine_id}/versions

api
flyio_get_v1_apps_by_app_name_machines_by_machine_id_waitREAD

Machines wait via GET /v1/apps/{app_name}/machines/{machine_id}/wait

api
flyio_get_v1_apps_by_app_name_secretkeysREAD

Secretkeys list via GET /v1/apps/{app_name}/secretkeys

api
flyio_get_v1_apps_by_app_name_secretkeys_by_secret_nameREAD

Secretkey get via GET /v1/apps/{app_name}/secretkeys/{secret_name}

api
flyio_get_v1_apps_by_app_name_secretsREAD

Secrets list via GET /v1/apps/{app_name}/secrets

api
flyio_get_v1_apps_by_app_name_secrets_by_secret_nameREAD

Secret get via GET /v1/apps/{app_name}/secrets/{secret_name}

api
flyio_get_v1_apps_by_app_name_volumesREAD

Volumes list via GET /v1/apps/{app_name}/volumes

api
flyio_get_v1_apps_by_app_name_volumes_by_volume_idREAD

Volumes get by id via GET /v1/apps/{app_name}/volumes/{volume_id}

api
flyio_get_v1_apps_by_app_name_volumes_by_volume_id_snapshotsREAD

Volumes list snapshots via GET /v1/apps/{app_name}/volumes/{volume_id}/snapshots

api
flyio_get_v1_orgs_by_org_slug_machinesREAD

Machines org list via GET /v1/orgs/{org_slug}/machines

api
flyio_get_v1_orgs_by_org_slug_volumesREAD

Volumes org list via GET /v1/orgs/{org_slug}/volumes

api
flyio_get_v1_platform_regionsREAD

Platform regions get via GET /v1/platform/regions

api
flyio_get_v1_postgresREAD

Postgres list via GET /v1/postgres

api
flyio_get_v1_postgres_by_postgres_cluster_idREAD

Postgres show via GET /v1/postgres/{postgres_cluster_id}

api
flyio_get_v1_postgres_by_postgres_cluster_id_backupsREAD

Postgres backups list via GET /v1/postgres/{postgres_cluster_id}/backups

api
flyio_get_v1_postgres_by_postgres_cluster_id_databasesREAD

Postgres databases list via GET /v1/postgres/{postgres_cluster_id}/databases

api
flyio_get_v1_postgres_by_postgres_cluster_id_databases_by_database_name_extensionsREAD

Postgres extensions list via GET /v1/postgres/{postgres_cluster_id}/databases/{database_name}/extensions

api
flyio_get_v1_postgres_by_postgres_cluster_id_usersREAD

Postgres users list via GET /v1/postgres/{postgres_cluster_id}/users

api
flyio_get_v1_postgres_by_postgres_cluster_id_users_by_username_credentialsREAD

Postgres users credentials via GET /v1/postgres/{postgres_cluster_id}/users/{username}/credentials

api
flyio_get_v1_tokens_currentREAD

Current token show via GET /v1/tokens/current

api
flyio_patch_v1_apps_by_app_name_machines_by_machine_id_metadataWRITE

Machines update metadata (PATCH) via PATCH /v1/apps/{app_name}/machines/{machine_id}/metadata

api
flyio_patch_v1_postgres_by_postgres_cluster_id_users_by_usernameWRITE

Postgres users update role via PATCH /v1/postgres/{postgres_cluster_id}/users/{username}

api
flyio_post_v1_appsWRITE

Apps create via POST /v1/apps

api
flyio_post_v1_apps_by_app_name_certificates_acmeWRITE

App certificates acme create via POST /v1/apps/{app_name}/certificates/acme

api
flyio_post_v1_apps_by_app_name_certificates_by_hostname_checkWRITE

App certificates check via POST /v1/apps/{app_name}/certificates/{hostname}/check

api
flyio_post_v1_apps_by_app_name_certificates_customWRITE

App certificates custom create via POST /v1/apps/{app_name}/certificates/custom

api
flyio_post_v1_apps_by_app_name_deploy_tokenWRITE

App create deploy token via POST /v1/apps/{app_name}/deploy_token

api
flyio_post_v1_apps_by_app_name_ip_assignmentsWRITE

App ip assignments create via POST /v1/apps/{app_name}/ip_assignments

api
flyio_post_v1_apps_by_app_name_machinesWRITE

Machines create via POST /v1/apps/{app_name}/machines

api
flyio_post_v1_apps_by_app_name_machines_by_machine_idWRITE

Machines update via POST /v1/apps/{app_name}/machines/{machine_id}

api
flyio_post_v1_apps_by_app_name_machines_by_machine_id_cordonWRITE

Machines cordon via POST /v1/apps/{app_name}/machines/{machine_id}/cordon

api
flyio_post_v1_apps_by_app_name_machines_by_machine_id_execWRITE

Machines exec via POST /v1/apps/{app_name}/machines/{machine_id}/exec

api
flyio_post_v1_apps_by_app_name_machines_by_machine_id_leaseWRITE

Machines create lease via POST /v1/apps/{app_name}/machines/{machine_id}/lease

api
flyio_post_v1_apps_by_app_name_machines_by_machine_id_memory_reclaimWRITE

Machines reclaim memory via POST /v1/apps/{app_name}/machines/{machine_id}/memory/reclaim

api
flyio_post_v1_apps_by_app_name_machines_by_machine_id_metadata_by_keyWRITE

Machines upsert metadata via POST /v1/apps/{app_name}/machines/{machine_id}/metadata/{key}

api
flyio_post_v1_apps_by_app_name_machines_by_machine_id_restartWRITE

Machines restart via POST /v1/apps/{app_name}/machines/{machine_id}/restart

api
flyio_post_v1_apps_by_app_name_machines_by_machine_id_signalWRITE

Machines signal via POST /v1/apps/{app_name}/machines/{machine_id}/signal

api
flyio_post_v1_apps_by_app_name_machines_by_machine_id_startWRITE

Machines start via POST /v1/apps/{app_name}/machines/{machine_id}/start

api
flyio_post_v1_apps_by_app_name_machines_by_machine_id_stopWRITE

Machines stop via POST /v1/apps/{app_name}/machines/{machine_id}/stop

api
flyio_post_v1_apps_by_app_name_machines_by_machine_id_suspendWRITE

Machines suspend via POST /v1/apps/{app_name}/machines/{machine_id}/suspend

api
flyio_post_v1_apps_by_app_name_machines_by_machine_id_uncordonWRITE

Machines uncordon via POST /v1/apps/{app_name}/machines/{machine_id}/uncordon

api
flyio_post_v1_apps_by_app_name_secretkeys_by_secret_nameWRITE

Secretkey set via POST /v1/apps/{app_name}/secretkeys/{secret_name}

api
flyio_post_v1_apps_by_app_name_secretkeys_by_secret_name_decryptWRITE

Secretkey decrypt via POST /v1/apps/{app_name}/secretkeys/{secret_name}/decrypt

api
flyio_post_v1_apps_by_app_name_secretkeys_by_secret_name_encryptWRITE

Secretkey encrypt via POST /v1/apps/{app_name}/secretkeys/{secret_name}/encrypt

api
flyio_post_v1_apps_by_app_name_secretkeys_by_secret_name_generateWRITE

Secretkey generate via POST /v1/apps/{app_name}/secretkeys/{secret_name}/generate

api
flyio_post_v1_apps_by_app_name_secretkeys_by_secret_name_signWRITE

Secretkey sign via POST /v1/apps/{app_name}/secretkeys/{secret_name}/sign

api
flyio_post_v1_apps_by_app_name_secretkeys_by_secret_name_verifyWRITE

Secretkey verify via POST /v1/apps/{app_name}/secretkeys/{secret_name}/verify

api
flyio_post_v1_apps_by_app_name_secretsWRITE

Secrets update via POST /v1/apps/{app_name}/secrets

api
flyio_post_v1_apps_by_app_name_secrets_by_secret_nameWRITE

Secret create via POST /v1/apps/{app_name}/secrets/{secret_name}

api
flyio_post_v1_apps_by_app_name_volumesWRITE

Volumes create via POST /v1/apps/{app_name}/volumes

api
flyio_post_v1_apps_by_app_name_volumes_by_volume_id_snapshotsWRITE

Create volume snapshot via POST /v1/apps/{app_name}/volumes/{volume_id}/snapshots

api
flyio_post_v1_platform_placementsWRITE

Platform placements post via POST /v1/platform/placements

api
flyio_post_v1_postgresWRITE

Postgres create via POST /v1/postgres

api
flyio_post_v1_postgres_by_postgres_cluster_id_attachmentsWRITE

Postgres attachments create via POST /v1/postgres/{postgres_cluster_id}/attachments

api
flyio_post_v1_postgres_by_postgres_cluster_id_backupsWRITE

Postgres backups create via POST /v1/postgres/{postgres_cluster_id}/backups

api
flyio_post_v1_postgres_by_postgres_cluster_id_databasesWRITE

Postgres databases create via POST /v1/postgres/{postgres_cluster_id}/databases

api
flyio_post_v1_postgres_by_postgres_cluster_id_databases_by_database_name_extensionsWRITE

Postgres extensions enable via POST /v1/postgres/{postgres_cluster_id}/databases/{database_name}/extensions

api
flyio_post_v1_postgres_by_postgres_cluster_id_forkWRITE

Postgres fork via POST /v1/postgres/{postgres_cluster_id}/fork

api
flyio_post_v1_postgres_by_postgres_cluster_id_restoreWRITE

Postgres restore via POST /v1/postgres/{postgres_cluster_id}/restore

api
flyio_post_v1_postgres_by_postgres_cluster_id_usersWRITE

Postgres users create via POST /v1/postgres/{postgres_cluster_id}/users

api
flyio_post_v1_postgres_by_postgres_cluster_id_users_by_username_rotate_passwordWRITE

Postgres users rotate password via POST /v1/postgres/{postgres_cluster_id}/users/{username}/rotate_password

api
flyio_post_v1_tokens_kmsWRITE

Tokens request kms via POST /v1/tokens/kms

api
flyio_post_v1_tokens_oidcWRITE

Tokens request oidc via POST /v1/tokens/oidc

api
flyio_put_v1_apps_by_app_name_machines_by_machine_id_memoryWRITE

Machines set memory limit via PUT /v1/apps/{app_name}/machines/{machine_id}/memory

api
flyio_put_v1_apps_by_app_name_machines_by_machine_id_metadataWRITE

Machines update metadata (PUT) via PUT /v1/apps/{app_name}/machines/{machine_id}/metadata

api
flyio_put_v1_apps_by_app_name_volumes_by_volume_idWRITE

Volumes update via PUT /v1/apps/{app_name}/volumes/{volume_id}

api
flyio_put_v1_apps_by_app_name_volumes_by_volume_id_extendWRITE

Volumes extend via PUT /v1/apps/{app_name}/volumes/{volume_id}/extend

api

Put Fly.io behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.