Join us at the Cloud Engineering Summit on October 20th for a free day of learning. Save your spot.

Automation API

The Pulumi Automation API is a programmatic interface for running Pulumi programs without the Pulumi CLI. Conceptually, this can be thought of as encapsulating the functionality of the CLI (pulumi up, pulumi preview, pulumi destroy, pulumi stack init, etc.) but with more flexibility. It is a strongly typed and safe way to use Pulumi in embedded contexts such as web servers without having to shell out to a CLI.


Automation API allows you to embed Pulumi within your application code, making it easy to create custom experiences on top of Pulumi that are tailored to your use-case, domain, and team.

Getting started

To learn how to use Automation API, see Getting Started with Automation API.


The following examples demonstrate how to use Automation API in various use cases.

Visit the examples repo for more code examples and links to projects using Automation API.


Like all of Pulumi, Automation API is available in multiple languages, so you can create applications that use it in TypeScript/JavaScript, Python, Go, and C#.


Blog Posts

For more ideas of what’s possible with Automation API, check out some of the ways we and community members use it in different use cases.

Known issues

The GA release of Automation API is stable; however, we know bugs can pop up. We are tracking a list of known issues and encourage you to file additional issues as you find them.