Terraform website screenshot

Terraform

HashiCorp Terraform is an open-source infrastructure-as-code tool that enables teams to define, provision, and manage cloud infrastructure using a declarative configuration language (HCL). HCP Terraform and Terraform Enterprise expose a comprehensive REST API for automating workspace management, runs, state, policies, and access control.

2 APIs 0 Features
Infrastructure As CodeCloud InfrastructureDevOpsOpen SourceHashiCorp

APIs

HCP Terraform API

The HCP Terraform API provides programmatic access to all HCP Terraform features including workspace management, runs, state versions, policies, teams, organizations, VCS integr...

Terraform Registry API

The Terraform Registry API enables discovery, listing, versioning, and downloading of modules from the public Terraform Registry. It supports searching by keyword, filtering by ...

Collections

Pricing Plans

Terraform Plans Pricing

3 plans

PLANS

Rate Limits

Terraform Rate Limits

5 limits

RATE LIMITS

FinOps

Semantic Vocabularies

Terraform Context

33 classes · 0 properties

JSON-LD

API Governance Rules

Terraform API Rules

10 rules · 1 errors 8 warnings 1 info

SPECTRAL

JSON Structure

Terraform Workspace Structure

0 properties

JSON STRUCTURE

Example Payloads

Resources

🌐
Portal
Portal
🔗
Repository
Repository
🌐
Portal
Portal
🌐
Portal
Portal
📄
ChangeLog
ChangeLog
🔗
Forums
Forums
🔗
Repository
Repository
📦
SDKs
SDKs
📦
SDKs
SDKs

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Terraform Registry API
  version: '1.0'
items:
- info:
    name: Modules
    type: folder
  items:
  - info:
      name: List Modules
      type: http
    http:
      method: GET
      url: https://registry.terraform.io/v1/modules
      params:
      - name: limit
        value: ''
        type: query
        description: Maximum number of results to return
      - name: offset
        value: ''
        type: query
        description: Starting position for pagination
      - name: provider
        value: ''
        type: query
        description: Filter modules by provider (e.g., aws, azurerm, google)
      - name: verified
        value: ''
        type: query
        description: Filter to show only HashiCorp-verified modules
    docs: Lists all modules in the registry with optional filtering and pagination.
  - info:
      name: List Modules by Namespace
      type: http
    http:
      method: GET
      url: https://registry.terraform.io/v1/modules/:namespace
      params:
      - name: namespace
        value: ''
        type: path
        description: The namespace (username or organization) to filter by
      - name: limit
        value: ''
        type: query
        description: Maximum number of results to return
      - name: offset
        value: ''
        type: query
        description: Starting position for pagination
    docs: Lists all modules published by a specific namespace.
  - info:
      name: Search Modules
      type: http
    http:
      method: GET
      url: https://registry.terraform.io/v1/modules/search
      params:
      - name: q
        value: ''
        type: query
        description: The search query keyword or phrase
      - name: limit
        value: ''
        type: query
        description: Maximum number of results to return
      - name: offset
        value: ''
        type: query
        description: Starting position for pagination
      - name: provider
        value: ''
        type: query
        description: Filter results by provider
      - name: verified
        value: ''
        type: query
        description: Show only verified modules
    docs: Searches modules by keyword or phrase across all namespaces.
  - info:
      name: Get Module Latest Versions
      type: http
    http:
      method: GET
      url: https://registry.terraform.io/v1/modules/:namespace/:name
      params:
      - name: namespace
        value: ''
        type: path
      - name: name
        value: ''
        type: path
    docs: Returns the latest version of a module for all providers.
  - info:
      name: Get Module Latest Version for Provider
      type: http
    http:
      method: GET
      url: https://registry.terraform.io/v1/modules/:namespace/:name/:provider
      params:
      - name: namespace
        value: ''
        type: path
      - name: name
        value: ''
        type: path
      - name: provider
        value: ''
        type: path
    docs: Retrieves the latest version of a module for a specific provider.
  - info:
      name: List Module Versions
      type: http
    http:
      method: GET
      url: https://registry.terraform.io/v1/modules/:namespace/:name/:provider/versions
      params:
      - name: namespace
        value: ''
        type: path
      - name: name
        value: ''
        type: path
      - name: provider
        value: ''
        type: path
    docs: Lists available versions for a specific module and provider combination.
  - info:
      name: Get a Module Version
      type: http
    http:
      method: GET
      url: https://registry.terraform.io/v1/modules/:namespace/:name/:provider/:version
      params:
      - name: namespace
        value: ''
        type: path
      - name: name
        value: ''
        type: path
      - name: provider
        value: ''
        type: path
      - name: version
        value: ''
        type: path
    docs: Fetches details for a specific module version.
  - info:
      name: Download Module Latest Version
      type: http
    http:
      method: GET
      url: https://registry.terraform.io/v1/modules/:namespace/:name/:provider/download
      params:
      - name: namespace
        value: ''
        type: path
      - name: name
        value: ''
        type: path
      - name: provider
        value: ''
        type: path
    docs: Downloads the latest version of a module. Redirects to the download URL.
  - info:
      name: Download a Module Version
      type: http
    http:
      method: GET
      url: https://registry.terraform.io/v1/modules/:namespace/:name/:provider/:version/download
      params:
      - name: namespace
        value: ''
        type: path
      - name: name
        value: ''
        type: path
      - name: provider
        value: ''
        type: path
      - name: version
        value: ''
        type: path
    docs: Downloads a specific version of a module. Redirects to the source archive.
  - info:
      name: Get Module Download Summary
      type: http
    http:
      method: GET
      url: https://registry.terraform.io/v2/modules/:namespace/:name/:provider/downloads/summary
      params:
      - name: namespace
        value: ''
        type: path
      - name: name
        value: ''
        type: path
      - name: provider
        value: ''
        type: path
    docs: Retrieves download metrics and statistics for a specific module.
bundled: true