> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fly.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Machines API

<img src="https://mintcdn.com/fly-io/izaS1l2UMuz6sm1H/images/machine-api.png?fit=max&auto=format&n=izaS1l2UMuz6sm1H&q=85&s=90fcb9a7581731490c9eac1b2848758d" alt="Illustration by Annie Ruygt of a group of hovering servers with eyes" width="2048" height="2048" data-path="images/machine-api.png" />

The Fly Machines REST API provides resources to provision and manage Fly Apps, Fly Machines, and Fly Volumes.

* **[Working with the Machines API](/machines/api/working-with-machines-api):** Get set up quickly to use the Machines API.

* **[Machines resource](/machines/api/machines-resource):** The core of the Machines API. Use the Machines resource to fully control Machines at speed.

* **[Apps resource](/machines/api/apps-resource):** Create and manage Fly Apps to group and administer your Machines.

* **[Certificates resource](/machines/api/certificates-resource):** Manage SSL/TLS certificates for custom domains.

* **[Tokens resource](/machines/api/tokens-resource):** Request an OpenID Connect token from a 3rd-party.

* **[Volumes resource](/machines/api/volumes-resource):** Create and manage persistent storage volumes for your Machines.

* **[OpenAPI spec](/api/machines):** OpenAPI 3.0 specification for the Machines API.

## Client libraries

You can call the Machines API from any HTTP client. The official packages from Fly.io:

* **[fly-go](https://pkg.go.dev/github.com/superfly/fly-go):** Go client for the Machines API and the Fly.io GraphQL API. It's the library [flyctl](https://github.com/superfly/flyctl) is built on. Module `github.com/superfly/fly-go`.

* **Other languages:** generate a client from the [OpenAPI spec](https://docs.fly.io/machines-api/openapi.json) with a tool like [openapi-generator](https://openapi-generator.tech/).

[Fly Sprites](/sprites) is a separate API (`api.sprites.dev`) with its own SDKs: [`@fly/sprites`](https://www.npmjs.com/package/@fly/sprites) for JavaScript and TypeScript, [`sprites-py`](https://pypi.org/project/sprites-py/) for Python, [`sprites-go`](https://pkg.go.dev/github.com/superfly/sprites-go) for Go, [`sprites`](https://hex.pm/packages/sprites) for Elixir, and an [MCP server](/sprites/integrations/remote-mcp).
