1. Docs
  2. Using Pulumi
  3. Automation API

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

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.

Automation API requires the Pulumi CLI to be installed and available in your PATH environment variable.

Getting started

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

Examples

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.

Languages

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#.

Automation API supports cross-language implementations where it runs in a program of a different language than the Pulumi programs it manages.

LanguageStatus
TypeScriptStable
JavaScriptStable
PythonStable
.NETStable
GoStable

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.