Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Terraform Modules API

Browse and search Terraform modules in the public registry

Terraform Modules API is one of 9 APIs that Terraform publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Modules. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 10 operations across 10 paths, and defines 7 schemas. It is described by OpenAPI 3.1.0, at version 2.0.

Requests are made against a single base URL, https://app.terraform.io/api/v2.

10 operations 10 paths 7 schemas 10 GET

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
2.0
Base URL
https://app.terraform.io/api/v2
Authentication
HTTP Bearer
Resource Areas
1

Authentication & Security 1

Terraform Modules API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (bearerAuth). By default, every request must be authenticated.

  • bearerAuth — Bearer token authentication. Use organization, team, or user tokens.

Paths & Operations 10

Across 10 paths, the API surfaces 10 operations — 10 GET. Each is listed below with its method, path, parameters, and response codes.

Modules 10

Browse and search Terraform modules in the public registry

GET
/v1/modules
List Modules
ListModules 4 params → 200
GET
/v1/modules/{namespace}
List Modules by Namespace
ListModulesByNamespace 3 params → 200
GET
/v1/modules/search
Search Modules
SearchModules 5 params → 200
GET
/v1/modules/{namespace}/{name}
Get Module Latest Versions
GetModuleLatestVersions 2 params → 200
GET
/v1/modules/{namespace}/{name}/{provider}
Get Module Latest Version for Provider
GetModuleLatestVersion 3 params → 200
GET
/v1/modules/{namespace}/{name}/{provider}/versions
List Module Versions
ListModuleVersions 3 params → 200
GET
/v1/modules/{namespace}/{name}/{provider}/{version}
Get a Module Version
GetModuleVersion 4 params → 200
GET
/v1/modules/{namespace}/{name}/{provider}/download
Download Module Latest Version
DownloadModuleLatestVersion 3 params → 302
GET
/v1/modules/{namespace}/{name}/{provider}/{version}/download
Download a Module Version
DownloadModuleVersion 4 params → 302
GET
/v2/modules/{namespace}/{name}/{provider}/downloads/summary
Get Module Download Summary
GetModuleDownloadSummary 3 params → 200

Schemas 7

The contract defines 7 schemas that model the data the API accepts and returns. The most detailed are ModuleResponse (13 properties), Module (11 properties), RegistryMeta (6 properties), ModuleVersionsResponse (2 properties). Each schema is shown below with its type and property counts.

ModuleList
object
2 properties
ModuleVersionList
object
1 property
Module
object
11 properties
RegistryMeta
object
6 properties
ModuleResponse
object
13 properties
ModuleVersionsResponse
object
2 properties
ModuleDownloadSummary
object
1 property

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

terraform-modules-api-openapi.yml Raw ↑

Other APIs Terraform publishes across the network.

Terraform Organizations API
Terraform Policies API
Terraform Projects API
Terraform Runs API
Terraform State Versions API
Terraform Teams API
Terraform Variables API
Terraform Workspaces API