# Pulumi > Infrastructure as code in real programming languages. Define, deploy, and manage cloud infrastructure on AWS, Azure, Google Cloud, Kubernetes, and 150+ providers using TypeScript, Python, Go, C#, Java, or YAML. Pulumi is an open source infrastructure as code platform that lets you use familiar programming languages and tools to build, deploy, and manage cloud infrastructure. Pulumi Cloud provides state management, secrets, deployments, and governance for teams. ## For agents If you are an AI agent or programmatic consumer, start with these endpoints. Each has a copy-pasteable example. - **Pulumi Cloud REST API (via the CLI)** — call any [Pulumi Cloud REST API](https://www.pulumi.com/docs/reference/cloud-rest-api/) endpoint with [`pulumi api`](https://www.pulumi.com/docs/iac/cli/api/). The command emits a stable JSON error envelope and stable [exit codes](https://www.pulumi.com/docs/iac/cli/exit-codes/) for agent consumers, and `pulumi api list --output=json` returns the full endpoint catalog. Authentication reuses the existing Pulumi CLI credentials. pulumi api list --output=json pulumi api describe --output=json pulumi api /api/user - **Cloud registry API** — every published package, version-by-version. Public packages need no auth; set `Authorization: token $PULUMI_ACCESS_TOKEN` for private. Works without the CLI. # CLI (auto-fills lang/os from project runtime + host OS) pulumi api ls | grep registry pulumi api describe ListPackageVersions pulumi api /api/registry/packages/pulumi/pulumi/aws/versions/latest/readme # Direct HTTP (markdown variant via Accept header) curl -H "Accept: text/markdown" \ https://api.pulumi.com/api/registry/packages/pulumi/pulumi/aws/versions/latest/readme curl -H "Authorization: token $PULUMI_ACCESS_TOKEN" \ https://api.pulumi.com/api/registry/packages////versions/latest/installation Endpoints (replace `{version}` with a pinned semver where possible, or `latest` for the most recent published version): /api/registry/packages?search={query} /api/registry/packages/{source}/{publisher}/{name}/versions /api/registry/packages/{source}/{publisher}/{name}/versions/{version} /api/registry/packages/{source}/{publisher}/{name}/versions/{version}/readme /api/registry/packages/{source}/{publisher}/{name}/versions/{version}/installation /api/registry/packages/{source}/{publisher}/{name}/versions/{version}/nav /api/registry/packages/{source}/{publisher}/{name}/versions/{version}/docs/{typeToken} /api/registry/packages/{source}/{publisher}/{name}/versions/{version}/examples Common parameters: `?lang=typescript|python|go|csharp|java|yaml`, `?os=linux|macos|windows`, `?depth=summary|full` and `?q=` on `nav`, `?limit=` (max 100) on `examples`. For prose: `--output=markdown` (CLI) or `Accept: text/markdown` (HTTP). Type tokens for `docs/{typeToken}` are URL-encoded — use `encodeURIComponent` (or equivalent), e.g. `random:index/RandomPassword` becomes `random%3Aindex%2FRandomPassword`. Discover them via `nav?depth=full`. - **Full docs index (JSON)** — hierarchical sitemap of every documentation page with titles and nesting. curl https://www.pulumi.com/docs/llm-sitemap.json - **Provider schemas** — full Pulumi schema for any provider, including resource types, input/output shapes, function signatures, and language-specific type mappings. The cloud registry API's `versions/{version}` response includes a `schemaURL` field — follow it for the version-pinned schema. `pulumi package get-schema` accepts `[@version]`, a plugin binary or folder path, or a local `.json` / `.yaml` schema file. The static URL is latest-only. # Versioned (via cloud registry API) pulumi api /api/registry/packages/pulumi/pulumi/aws/versions/6.0.0 \ | jq -r .schemaURL | xargs curl pulumi package get-schema aws pulumi package get-schema aws@6.0.0 # Latest only curl https://www.pulumi.com/registry/packages/aws/schema.json - **Markdown content (per page)** — every `/docs/` URL is available as clean markdown via two equivalent mechanisms. For the `.md` URL form, drop the trailing slash and append `.md` (e.g., `/docs/iac/concepts/resources/` → `/docs/iac/concepts/resources.md`). `/registry/` URLs support the same mechanisms (`/registry/packages/.md`), but only for the latest version. Exception: `/registry/packages//api-docs/*` is not served as markdown — use the cloud registry API instead. # Accept-header content negotiation curl -H "Accept: text/markdown" https://www.pulumi.com/docs/iac/concepts/resources/ curl -H "Accept: text/markdown" https://www.pulumi.com/registry/packages/aws/ # .md URL suffix (header-free; same content, same cache entry) curl https://www.pulumi.com/docs/iac/concepts/resources.md curl https://www.pulumi.com/registry/packages/aws.md curl https://www.pulumi.com/registry.md - **Doing infrastructure work as an agent** — the Pulumi CLI is designed for agents: run any command with `npx pulumi`, perform one-shot resource operations with [`pulumi do`](https://www.pulumi.com/docs/iac/cli/direct-resource-operations/), and get an [ephemeral Pulumi Cloud account provisioned automatically](https://www.pulumi.com/docs/administration/organizations-teams/agent-accounts/) on first use — no signup required. [Pulumi Agent Skills](https://www.pulumi.com/docs/ai/skills/) provide proven Pulumi workflows, and the [Pulumi MCP server](https://www.pulumi.com/docs/ai/mcp-server/) exposes stacks, resource search, and the Registry as MCP tools. ## Site overview This llms.txt covers www.pulumi.com, which includes: - [Product](https://www.pulumi.com/product/): Pulumi Cloud platform overview and capabilities - [Pricing](https://www.pulumi.com/pricing/): Plans and pricing for Pulumi Cloud (Individual, Team, Enterprise, Business Critical) - [Pulumi Registry](https://www.pulumi.com/registry/): Documentation for 150+ cloud providers and components, available at `https://www.pulumi.com/registry/packages//` - [Infrastructure AI](https://www.pulumi.com/docs/ai/): Using AI agents with Pulumi — bring your own agent via [Agent Skills](https://www.pulumi.com/docs/ai/skills/) and the [MCP server](https://www.pulumi.com/docs/ai/mcp-server/), or use [Pulumi Neo](https://www.pulumi.com/neo/), Pulumi's purpose-built infrastructure agent - [Blog](https://www.pulumi.com/blog/): Product announcements, technical guides, and engineering posts - [Tutorials](https://www.pulumi.com/tutorials/): Hands-on tutorials for building cloud infrastructure with Pulumi - [What is...](https://www.pulumi.com/what-is/): Explainer pages for cloud infrastructure concepts (e.g., infrastructure as code, Kubernetes, serverless) - [Case Studies](https://www.pulumi.com/case-studies/): Customer stories and use cases - [Templates](https://www.pulumi.com/templates/): Ready-to-use project templates across clouds and languages - [Automation API](https://www.pulumi.com/automation/): Program-driven Pulumi for embedding infrastructure as code into applications and platforms - [Whitepapers](https://www.pulumi.com/whitepapers/): Long-form educational and technical content - [Community](https://www.pulumi.com/community/): Slack, Discord, GitHub, and other community resources - [Security](https://www.pulumi.com/security/): Security posture, compliance, and trust information - [Docs](https://www.pulumi.com/docs/): Technical documentation (detailed sections below) ## Docs sections ### Download & Install - [Download & Install Pulumi](https://www.pulumi.com/docs/install/): This page contains detailed instructions for downloading and installing Pulumi. ### Getting Started - [Get Started](https://www.pulumi.com/docs/get-started/): Step-by-step guides for creating, deploying, and managing infrastructure with Pulumi on the cloud using your favorite language. ### Infrastructure as Code - [Infrastructure as Code](https://www.pulumi.com/docs/iac/): Learn how to create, deploy, and manage infrastructure on any cloud using Pulumi's open source infrastructure as code SDK. ### Infrastructure AI - [Infrastructure AI](https://www.pulumi.com/docs/ai/): Use AI agents with Pulumi. Bring Claude Code, Codex, or Cursor via Agent Skills and the MCP server, or use Neo, the purpose-built infrastructure agent. ### Deployments & Workflows - [Deployments & Workflows](https://www.pulumi.com/docs/deployments/): Cloud-hosted deployment automation, drift detection, and workflow management for infrastructure as code. ### Secrets & Configuration (ESC) - [Secrets & Configuration](https://www.pulumi.com/docs/esc/): Learn how to tame secrets sprawl and configuration complexity securely across all your cloud infrastructure and applications. ### Insights & Governance - [Insights & Governance](https://www.pulumi.com/docs/insights/): Discover, secure, and govern cloud infrastructure with comprehensive visibility and policy enforcement across all your resources. ### Internal Developer Platform - [Internal Developer Platform](https://www.pulumi.com/docs/idp/): Build self-service infrastructure workflows with reusable components, templates, and golden paths—from Day 0 to Day 2. ### Administration - [Administration](https://www.pulumi.com/docs/administration/): Manage organizations, teams, access control, security, and self-hosted deployments. ### Integrations - [Integrations](https://www.pulumi.com/docs/integrations/): Integrations connect Pulumi with the clouds, version control systems, and tools you already use. ### Reference - [Reference](https://www.pulumi.com/docs/reference/): Complete reference documentation for Pulumi CLI, Cloud REST API, language SDKs, and configuration syntax. ### Support - [Support & Troubleshooting](https://www.pulumi.com/docs/support/): Get help with Pulumi through FAQs, troubleshooting guides, community resources, and support options. ## Optional ### Recent blog posts - [Preview ESC Changes with Environment Overrides](https://www.pulumi.com/blog/preview-esc-environment-changes-with-draft-references/): Preview a proposed ESC environment change against your stack before you promote it, using draft references and the new --override-env flag. - [The Standalone ESC CLI Retired: Use pulumi env](https://www.pulumi.com/blog/esc-cli-retiring-use-pulumi-env/): The standalone esc CLI is archived as of v0.26.0. Every ESC command is available in the Pulumi CLI under pulumi env: one binary to install and upgrade. - [Kubernetes Agent Sandbox: What It Is and How to Deploy It with Pulumi](https://www.pulumi.com/blog/kubernetes-agent-sandbox/): Agent Sandbox gives AI agents kernel-isolated, disposable environments as Kubernetes resources. Here's what it is and how to deploy it on GKE with Pulumi. - [Incident Response as Code: Managing PagerDuty with Pulumi](https://www.pulumi.com/blog/incident-response-as-code-pagerduty-pulumi/): Manage PagerDuty teams, schedules, escalation policies, and services with Pulumi, and wire alerting to the AWS infrastructure in the same program. - [Best Terraform Alternatives in 2026](https://www.pulumi.com/blog/best-terraform-alternatives/): The best Terraform alternatives for 2026: Pulumi, OpenTofu, AWS CDK, Crossplane, and Bicep, compared on multi-cloud reach, governance, and AI-agent readiness. - [Connect Your Cloud Accounts to Pulumi in Minutes](https://www.pulumi.com/blog/connect-your-cloud-accounts-to-pulumi-in-minutes/): Onboard your AWS, Azure, and Google Cloud accounts to Pulumi Insights in bulk with the new Connect cloud accounts wizard. OIDC-based, no long-lived secrets. - [Introducing Usage Limits for Pulumi Neo](https://www.pulumi.com/blog/neo-usage-limits/): Set monthly organization or per-member Pulumi Neo dollar limits and get alerts via email. - [Knowledge as Code: The Memory File Just Got a Spec](https://www.pulumi.com/blog/knowledge-as-code-the-memory-file-just-got-a-spec/): Google's Open Knowledge Format: a one-page spec for the LLM wiki. Markdown, one required field, git. Why knowledge as code is your agent loop's missing layer. - [Sign in to Pulumi Cloud with Passkeys](https://www.pulumi.com/blog/passkey-support-in-pulumi-cloud/): Pulumi Cloud now supports passkeys: a phishing-resistant alternative to typing your password, for users who sign in with email and password. - [New: Versioned CLI and SDK Docs](https://www.pulumi.com/blog/previous-cli-and-sdk-version-docs/): The Pulumi CLI command reference and SDK API docs now include a version selector, so you can browse the docs that match the release you're running.