API Reference¶
Liveness Probe¶
Responds with status 200 OK if the Terralist instance is healthy.
Example Request¶
Example Response¶
Readiness Probe¶
Responds with status 200 OK if the Terralist instance is ready.
Example Request¶
Example Response¶
Service Discovery¶
Terraform/OpenTofu service discovery endpoint. Instructs the CLI tool where to find resources.
Example Request¶
Example Response¶
List all versions for a provider¶
Get all versions for a provider.
Example Request¶
curl -L \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http://localhost:5758/v1/providers/NAMESPACE/NAME/versions
Example Response¶
Download provider version¶
Download a specific provider version.
Example Request¶
curl -L \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http://localhost:5758/v1/providers/NAMESPACE/NAME/VERSION/download/SYSTEM/ARCH
Example Response¶
{
"protocols": [
"5.0"
],
"os": "linux",
"arch": "amd64",
"filename": "terraform-provider-aws_5.46.0_linux_amd64.zip",
"download_url": "https://SOME-BUCKET-NAME.s3.SOME-REGION.amazonaws.com/providers/hashicorp/aws/5.46.0/terraform-provider-aws_5.46.0_linux_amd64.zip?X-Amz-Algorithm=[REDACTED]&X-Amz-Credential=[REDACTED]&X-Amz-Date=[REDACTED]&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=[REDACTED]",
"shasums_url": "https://SOME-BUCKET-NAME.s3.SOME-REGION.amazonaws.com/providers/hashicorp/aws/5.46.0/terraform-provider-aws_5.46.0_SHA256SUMS?X-Amz-Algorithm=[REDACTED]&X-Amz-Credential=[REDACTED]&X-Amz-Date=[REDACTED]&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=[REDACTED]",
"shasums_signature_url": "https://SOME-BUCKET-NAME.s3.SOME-REGION.amazonaws.com/providers/hashicorp/aws/5.46.0/terraform-provider-aws_5.46.0_SHA256SUMS.sigX-Amz-Algorithm=[REDACTED]&X-Amz-Credential=[REDACTED]&X-Amz-Date=[REDACTED]&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=[REDACTED]",
"shasum": "37cdf4292649a10f12858622826925e18ad4eca354c31f61d02c66895eb91274",
"signing_keys": {
"gpg_public_keys": [
{
"key_id": "34365D9472D7468F",
"ascii_armor": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n[REDACTED FOR SIMPLICITY]\n-----END PGP PUBLIC KEY BLOCK-----",
"trust_signature": "",
"string": "hashicorp",
"source_url": "https://www.hashicorp.com/security.html"
}
]
}
}
Upload a provider version¶
Upload a new provider version.
Example Request¶
curl -L -X POST \
-H "Authorization: Bearer x-api-key:<YOUR-TOKEN>" \
http://localhost:5758/v1/api/providers/NAME/VERSION/upload
There is no need for you to specify the namespace, as Terralist will resolve it based on your API key.
Example Response¶
Remove a provider¶
Remove a provider together with all its uploaded versions.
Example Request¶
curl -L -X DELETE \
-H "Authorization: Bearer x-api-key:<YOUR-TOKEN>" \
http://localhost:5758/v1/api/providers/NAME/remove
There is no need for you to specify the namespace, as Terralist will resolve it based on your API key.
Example Response¶
Remove a provider version¶
Remove a specific provider version.
Example Request¶
curl -L -X DELETE \
-H "Authorization: Bearer x-api-key:<YOUR-TOKEN>" \
http://localhost:5758/v1/api/providers/NAME/VERSION/remove
There is no need for you to specify the namespace, as Terralist will resolve it based on your API key.
Example Response¶
List all versions for a module¶
Get all versions for a module.
Example Request¶
curl -L \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http://localhost:5758/v1/modules/NAMESPACE/NAME/PROVIDER/versions
Example Response¶
Download module version¶
Download a specific provider version.
Example Request¶
curl -L \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http://localhost:5758/v1/modules/NAMESPACE/NAME/PROVIDER/VERSION/download
Example Response¶
Upload a module version¶
Upload a new module version.
Example Request¶
curl -L -X POST \
-H "Authorization: Bearer x-api-key:<YOUR-TOKEN>" \
http://localhost:5758/v1/api/modules/NAME/PROVIDER/VERSION/upload
There is no need for you to specify the namespace, as Terralist will resolve it based on your API key.
Example Response¶
Remove a module¶
Remove a module together with all its uploaded versions.
Example Request¶
curl -L -X DELETE \
-H "Authorization: Bearer x-api-key:<YOUR-TOKEN>" \
http://localhost:5758/v1/api/modules/NAME/PROVIDER/remove
There is no need for you to specify the namespace, as Terralist will resolve it based on your API key.
Example Response¶
Remove a module version¶
Remove a specific module version.
Example Request¶
curl -L -X DELETE \
-H "Authorization: Bearer x-api-key:<YOUR-TOKEN>" \
http://localhost:5758/v1/api/modules/NAME/PROVIDER/VERSION/remove
There is no need for you to specify the namespace, as Terralist will resolve it based on your API key.