How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Harness Provider Registry API

The provider-registry service implements HashiCorp's Provider Registry Protocol for private Terraform providers

Harness Provider Registry API is one of 488 APIs that Harness publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Provider Registry. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, a getting-started guide, authentication docs, and rate-limit docs.

This API exposes 24 operations across 17 paths, and defines 31 schemas. It is described by OpenAPI 3.2.0, at version 1.0.

Requests are made against 2 base URLs: https://app.harness.io, https://{vanity}.

24 operations 17 paths 31 schemas 5 DELETE10 GET6 POST3 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0
Base URL
https://app.harness.io
Authentication
API Key
Terms of Service
Resource Areas
1

Authentication & Security 1

Harness Provider Registry API declares 1 security scheme for authenticating requests. An API key is passed in the header as x-api-key (x-api-key). By default, every request must be authenticated.

  • x-api-key — API key is a token provided while making the API calls. This is used to authenticate the client at the exposed endpoint.

Paths & Operations 24

Across 17 paths, the API surfaces 24 operations — 5 DELETE, 10 GET, 6 POST, 3 PUT. Each is listed below with its method, path, parameters, and response codes.

provider-registry 24

The provider-registry service implements HashiCorp's Provider Registry Protocol for private Terraform providers

GET
/iacm/api/providers
List providers
provider-registry#list-providers 5 params → 200400401403404408409423
DELETE
/iacm/api/providers/{id}
Delete provider
provider-registry#delete-provider 2 params → 200400401403404408409423
GET
/iacm/api/providers/{id}
Get provider
provider-registry#get-provider 2 params → 200400401403404408409423
DELETE
/iacm/api/providers/{id}/lifecycle
Delete provider lifecycle rule
provider-registry#delete-provider-lifecycle 2 params → 204400401403404408409423
GET
/iacm/api/providers/{id}/lifecycle
Get provider lifecycle rule
provider-registry#get-provider-lifecycle 2 params → 200400401403404408409423
PUT
/iacm/api/providers/{id}/lifecycle
Upsert provider lifecycle rule
provider-registry#put-provider-lifecycle 2 params body → 200400401403404408409423
GET
/iacm/api/providers/{id}/lifecycle/versions/{version}
Get provider version lifecycle status
provider-registry#get-provider-lifecycle-version-status 3 params → 200400401403404408409423
POST
/iacm/api/providers/{id}/version
Create provider version
provider-registry#create-provider-version 2 params body → 201400401403404408409423
DELETE
/iacm/api/providers/{id}/version/{version}
Delete provider version
provider-registry#delete-provider-version 3 params → 200400401403404408409423
GET
/iacm/api/providers/{id}/version/{version}
Get provider version
provider-registry#get-provider-version 3 params → 200400401403404408409423
PUT
/iacm/api/providers/{id}/version/{version}
Update provider version
provider-registry#update-provider-version 3 params body → 200400401403404408409423
DELETE
/iacm/api/providers/{id}/version/{version}/file/{filename}
Delete file from a non synced provider version
provider-registry#delete-file 4 params → 204400401403404408409423
POST
/iacm/api/providers/{id}/version/{version}/files
Upload files
provider-registry#post-files 4 params → 201400401403404408409423
POST
/iacm/api/providers/{id}/version/{version}/publish
Publish a provider version
provider-registry#publish-provider-version 3 params → 200400401403404408409423
POST
/iacm/api/providers/{type}
Create provider
provider-registry#create-provider 2 params body → 201400401403404408409423
GET
/iacm/api/providers/get-provider-domain
Get the provider domain
provider-registry#get-provider-domain 1 param → 200400401403404408409423
GET
/iacm/api/providers/keys
List signing keys
provider-registry#list-signing-keys 5 params → 200400401403404408409423
POST
/iacm/api/providers/keys
Upload signing key
provider-registry#upload-signing-key 1 param body → 201400401403404408409423
DELETE
/iacm/api/providers/keys/{id}
Delete a signing key for a provider
provider-registry#delete-signing-key 2 params → 204400401403404408409423
PUT
/iacm/api/providers/keys/{id}
Update a signing key for a provider
provider-registry#update-signing-key 2 params body → 200400401403404408409423
POST
/iacm/api/providers/lifecycle/batch-check
Batch check provider lifecycle status
provider-registry#batch-check-provider-lifecycle 1 param body → 200400401403404408409423
GET
/iacm/provider/account/{account}/{type}/{version}/download/{os}/{arch}
Get provider download information
provider-registry#get-provider-download 5 params → 200400401403404408409423
GET
/iacm/provider/account/{account}/{type}/{version}/download/{os}/{arch}/{filetype}
Get provider file
provider-registry#get-file 7 params → 200400401403404408409423
GET
/iacm/provider/account/{account}/{type}/versions
List provider versions
provider-registry#list-provider-versions 2 params → 200400401403404408409423

Schemas 31

The contract defines 31 schemas that model the data the API accepts and returns. The most detailed are IaCMGetProviderResponse (9 properties), Provider (9 properties), GetProviderDownloadResponse (9 properties), SigningKey (7 properties). Each schema is shown below with its type and property counts.

HarnessIacmProviderRegistryProviderVersionMetadata
object
ProviderVersionMetadata contains metadata about a specific provider version
4 properties 3 required
GetProviderVersionResponseBody
object
3 properties 3 required
SigningKeyCollection
array
SigningKeyCollection is the result type for an array of SigningKey (default view)
UpdateProviderVersionRequestBody
object
2 properties 2 required
ProviderLifecycleRule
object
Lifecycle rule configuration for a provider registry provider
6 properties 5 required
IaCMGetProviderResponse
object
Provider
9 properties 7 required
HarnessIacmProviderRegistrySigningKeys
object
SigningKeys contains GPG public keys used for provider verification
1 property 1 required
Provider
object
Provider contains information about a Terraform provider (default view)
9 properties 7 required
PutProviderLifecycleResponse
object
6 properties 5 required
UploadSigningKeyRequest
object
4 properties 4 required
BatchCheckProviderLifecycleRequest
object
1 property 1 required
GetProviderDomainResponseBody
object
1 property 1 required
IaCMError
object
6 properties 6 required
BatchCheckProviderLifecycleResponse
object
1 property 1 required
HarnessIacmProviderRegistryPlatform
object
Platform defines an operating system and architecture combination
2 properties 2 required
GetProviderLifecycleResponse
object
6 properties 5 required
ProviderLifecycleBatchCheckResult
object
Lifecycle check result for a single provider item
6 properties 5 required
HarnessIacmProviderRegistryProviderVersion
object
ProviderVersion contains information about a specific provider version
3 properties 3 required
SigningKey
object
SigningKey contains a GPG key for provider verification (default view)
7 properties 7 required
CreateProviderRequestBody
object
1 property
ProviderVersionMetadata
object
ProviderVersionMetadata contains metadata about a specific provider version (default view)
4 properties 3 required
PostFilesResponseBody
object
1 property
GetProviderDownloadResponse
object
Provider download information
9 properties 9 required
ListProviderVersionsResponse
object
List of provider versions
1 property 1 required
ProviderLifecycleOverride
object
Manual lifecycle tier override for a specific provider version
3 properties 2 required
ProviderLifecycleBatchCheckItem
object
A single provider item to check lifecycle status for
3 properties 3 required
CreateProviderVersionRequestBody
object
3 properties 3 required
HarnessIacmProviderRegistryGpgPublicKey
object
GPGPublicKey contains a GPG public key for provider verification
2 properties 2 required
CreateProviderResponseBody
object
1 property 1 required
GetProviderLifecycleVersionStatusResponse
object
3 properties 2 required
ProviderCollection
array
ProviderCollection is the result type for an array of Provider (default view)

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

harness-provider-registry-api-openapi.yml Raw ↑

Other APIs Harness publishes across the network.

Harness Continuous Integration API
Harness Continuous Delivery and GitOps API
Harness Feature Management and Experimentation API
Harness Cloud Cost Management API
Harness Chaos Engineering API
Harness Security Testing Orchestration API
Harness Internal Developer Portal API
Harness Code Repository API
Harness Service Reliability Management API
Harness Infrastructure as Code Management API
Harness Supply Chain Security API
Harness Software Engineering Insights API
Where this information came from

This is an independent, third-party profile of Harness Provider Registry API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.