# Terraform Registry on Onekey > 4 endpoints for Terraform Registry (4 stable, 0 beta), 1 to 5 credits each. Category: Developer platforms. One key, one JSON shape. Base URL: https://api.onekey.dev Auth: header `x-api-key: `. Call shape: `GET /v1/{platform}/{endpoint}?{params}`. Every response is `{success, data, metadata, error}`; check `success` first. Cost is in `metadata.credits_charged`. Free when served from cache (0.2 credit for a cached response over 100 KB). Failed and not-found calls are refunded. Status: stable = verified against the live source; beta = not yet verified, fields may be missing. Page: https://onekey.dev/platforms/terraform Reference (Markdown): https://onekey.dev/docs/api/terraform.md All docs: https://onekey.dev/llms.txt ## Canonical fields returned Unified-schema fields (same names on every platform), with how many of the 4 mapped Terraform Registry endpoints return each: - `package.version` (string): 4 - `entity.description` (string): 3 - `entity.id` (string): 3 - `entity.name` (string): 3 - `entity.stats.downloads` (integer): 3 - `entity.updatedAt` (ISO 8601 date): 3 - `package.namespace` (string): 3 - `package.repositoryUrl` (URL): 3 - `package.dependencies` (list of strings): 1 - plus 4 platform-specific fields under `ext.` ## Endpoints ### terraform.module Terraform registry module metadata. - Price: 1 credit per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/terraform/module?namespace=terraform-aws-modules&name=vpc&provider=aws` with header `x-api-key: YOUR_API_KEY` - Parameters: - `namespace` (string, required): Namespace - `name` (string, required): Module name - `provider` (string, required): Provider - Fields returned: `entity.id`, `package.namespace`, `entity.name`, `package.version`, `entity.description`, `package.repositoryUrl`, `entity.updatedAt`, `entity.stats.downloads`, `ext.verified`, `ext.provider`, `ext.tier` - Reference: https://onekey.dev/docs/api/terraform/module.md ### terraform.module_search Search Terraform registry modules. - Price: 5 credits per fresh call. Status: stable. Returns: a list. - Request: `GET https://api.onekey.dev/v1/terraform/module_search?q=vpc` with header `x-api-key: YOUR_API_KEY` - Parameters: - `q` (string, required): Search query - Fields returned: `entity.id`, `package.namespace`, `entity.name`, `package.version`, `entity.description`, `package.repositoryUrl`, `entity.updatedAt`, `entity.stats.downloads`, `ext.verified`, `ext.provider`, `ext.tier` - Reference: https://onekey.dev/docs/api/terraform/module_search.md ### terraform.module_versions Published versions of a Terraform module. - Price: 5 credits per fresh call. Status: stable. Returns: a list. - Request: `GET https://api.onekey.dev/v1/terraform/module_versions?namespace=terraform-aws-modules&name=vpc&provider=aws` with header `x-api-key: YOUR_API_KEY` - Parameters: - `namespace` (string, required): Namespace - `name` (string, required): Module name - `provider` (string, required): Provider - Fields returned: `package.version`, `package.dependencies`, `ext.providers` - Reference: https://onekey.dev/docs/api/terraform/module_versions.md ### terraform.provider Terraform registry provider metadata. - Price: 1 credit per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/terraform/provider?namespace=hashicorp&type=aws` with header `x-api-key: YOUR_API_KEY` - Parameters: - `namespace` (string, required): Namespace - `type` (string, required): Provider type - Fields returned: `entity.id`, `package.namespace`, `entity.name`, `package.version`, `entity.description`, `package.repositoryUrl`, `entity.updatedAt`, `entity.stats.downloads`, `ext.verified`, `ext.provider`, `ext.tier` - Reference: https://onekey.dev/docs/api/terraform/provider.md ## Sample request ```bash curl "https://api.onekey.dev/v1/terraform/module?namespace=terraform-aws-modules&name=vpc&provider=aws" \ -H "x-api-key: YOUR_API_KEY" ```