For the complete documentation index, see llms.txt. This page is also available as Markdown.

Module Registry

The module-registry service is a private registry for Terraform/Opentofu modules

List modules

get

List all modules from the module registry

Query parameters
limitinteger · int64 · min: 1 · max: 1000Optional

Limit is the number of records to return for a page.

Default: 30Example: 30
pageinteger · int64 · min: 1Optional

Page is the page number to return relative to the page 'limit'.

Default: 1Example: 1
searchTermstringOptional

Filter results by partial name or provider match

Default: ""Example: mymod
sortstring · enumOptional

Sort order for results

Default: name,ASCExample: name,DESCPossible values:
scope_orgstringOptional

org name

Example: Delectus ut doloremque provident voluptatem quia et.
scope_projectstringOptional

project name

Example: Quisquam aliquid natus sapiente ex.
providerstring[]Optional

Filter modules to these providers (module_system values). Repeatable query param.

Example: ["terraform","tofu"]
Header parameters
Harness-AccountstringRequired

account name

Example: Culpa voluptatum et.
Responses
200

OK response.

application/json
get/api/modules
GET /api/modules HTTP/1.1
Host: localhost:80
Harness-Account: Culpa voluptatum et.
Accept: */*
[
  {
    "account": "abc123DEFghiJKL",
    "created": 3299187712978256400,
    "description": "Provisions a VPC with public and private subnets.",
    "domain_prefix": "Voluptas aut quisquam.",
    "git_tag_style": "module-name-*",
    "id": "aaaaaaaa-bbbb-cccc-eeee-ffffffffffff",
    "module_error": "Magni ipsam esse.",
    "name": "my-vpc-module",
    "namespace": "Sunt officia et quia.",
    "onboarding_pipeline": "Module_Onboarding_Pipeline",
    "onboarding_pipeline_org": "my_org",
    "onboarding_pipeline_project": "my_project",
    "onboarding_pipeline_sync": true,
    "org": "my_org",
    "project": "my_project",
    "repository": "my-terraform-modules",
    "repository_branch": "main",
    "repository_commit": "abc10ed",
    "repository_connector": "my_github_connector",
    "repository_path": "",
    "repository_url": "Vitae ut eum nostrum saepe culpa.",
    "scope_org": "my_org",
    "scope_project": "my_project",
    "storage_type": "git_reference",
    "synced": 3050809445934018600,
    "system": "aws",
    "tags": "Eum nam maiores ut.",
    "testing_enabled": false,
    "testing_metadata": {
      "account": "3a",
      "org": "7d",
      "pipelines": [
        "Odio quasi dolor.",
        "Ut eveniet qui voluptas.",
        "Voluptatem qui consectetur.",
        "Beatae odit illo."
      ],
      "project": "2d",
      "provider_connector": "Consectetur culpa eos temporibus.",
      "provisioner_type": "Et ad.",
      "provisioner_version": "Ut cum harum voluptatem vel sint numquam.",
      "release_pipeline": "Suscipit deleniti fuga."
    },
    "updated": 7977076533091252000,
    "version_statuses": {
      "Cum deleniti sit qui quo repudiandae labore.": "Sit et.",
      "Eveniet est at error.": "Optio quam suscipit.",
      "Rerum consectetur in dicta.": "Nulla neque nesciunt blanditiis rem voluptate nihil."
    },
    "versions": [
      "Sint minima.",
      "Labore omnis aperiam."
    ]
  },
  {
    "account": "abc123DEFghiJKL",
    "created": 3299187712978256400,
    "description": "Provisions a VPC with public and private subnets.",
    "domain_prefix": "Voluptas aut quisquam.",
    "git_tag_style": "module-name-*",
    "id": "aaaaaaaa-bbbb-cccc-eeee-ffffffffffff",
    "module_error": "Magni ipsam esse.",
    "name": "my-vpc-module",
    "namespace": "Sunt officia et quia.",
    "onboarding_pipeline": "Module_Onboarding_Pipeline",
    "onboarding_pipeline_org": "my_org",
    "onboarding_pipeline_project": "my_project",
    "onboarding_pipeline_sync": true,
    "org": "my_org",
    "project": "my_project",
    "repository": "my-terraform-modules",
    "repository_branch": "main",
    "repository_commit": "abc10ed",
    "repository_connector": "my_github_connector",
    "repository_path": "",
    "repository_url": "Vitae ut eum nostrum saepe culpa.",
    "scope_org": "my_org",
    "scope_project": "my_project",
    "storage_type": "git_reference",
    "synced": 3050809445934018600,
    "system": "aws",
    "tags": "Eum nam maiores ut.",
    "testing_enabled": false,
    "testing_metadata": {
      "account": "3a",
      "org": "7d",
      "pipelines": [
        "Odio quasi dolor.",
        "Ut eveniet qui voluptas.",
        "Voluptatem qui consectetur.",
        "Beatae odit illo."
      ],
      "project": "2d",
      "provider_connector": "Consectetur culpa eos temporibus.",
      "provisioner_type": "Et ad.",
      "provisioner_version": "Ut cum harum voluptatem vel sint numquam.",
      "release_pipeline": "Suscipit deleniti fuga."
    },
    "updated": 7977076533091252000,
    "version_statuses": {
      "Cum deleniti sit qui quo repudiandae labore.": "Sit et.",
      "Eveniet est at error.": "Optio quam suscipit.",
      "Rerum consectetur in dicta.": "Nulla neque nesciunt blanditiis rem voluptate nihil."
    },
    "versions": [
      "Sint minima.",
      "Labore omnis aperiam."
    ]
  },
  {
    "account": "abc123DEFghiJKL",
    "created": 3299187712978256400,
    "description": "Provisions a VPC with public and private subnets.",
    "domain_prefix": "Voluptas aut quisquam.",
    "git_tag_style": "module-name-*",
    "id": "aaaaaaaa-bbbb-cccc-eeee-ffffffffffff",
    "module_error": "Magni ipsam esse.",
    "name": "my-vpc-module",
    "namespace": "Sunt officia et quia.",
    "onboarding_pipeline": "Module_Onboarding_Pipeline",
    "onboarding_pipeline_org": "my_org",
    "onboarding_pipeline_project": "my_project",
    "onboarding_pipeline_sync": true,
    "org": "my_org",
    "project": "my_project",
    "repository": "my-terraform-modules",
    "repository_branch": "main",
    "repository_commit": "abc10ed",
    "repository_connector": "my_github_connector",
    "repository_path": "",
    "repository_url": "Vitae ut eum nostrum saepe culpa.",
    "scope_org": "my_org",
    "scope_project": "my_project",
    "storage_type": "git_reference",
    "synced": 3050809445934018600,
    "system": "aws",
    "tags": "Eum nam maiores ut.",
    "testing_enabled": false,
    "testing_metadata": {
      "account": "3a",
      "org": "7d",
      "pipelines": [
        "Odio quasi dolor.",
        "Ut eveniet qui voluptas.",
        "Voluptatem qui consectetur.",
        "Beatae odit illo."
      ],
      "project": "2d",
      "provider_connector": "Consectetur culpa eos temporibus.",
      "provisioner_type": "Et ad.",
      "provisioner_version": "Ut cum harum voluptatem vel sint numquam.",
      "release_pipeline": "Suscipit deleniti fuga."
    },
    "updated": 7977076533091252000,
    "version_statuses": {
      "Cum deleniti sit qui quo repudiandae labore.": "Sit et.",
      "Eveniet est at error.": "Optio quam suscipit.",
      "Rerum consectetur in dicta.": "Nulla neque nesciunt blanditiis rem voluptate nihil."
    },
    "versions": [
      "Sint minima.",
      "Labore omnis aperiam."
    ]
  }
]

Create module

post

Create a new module in the module registry

Query parameters
scope_orgstring · max: 1024Optional

Organization identifier where the module is scoped.

Example: my_org
scope_projectstring · max: 1024Optional

Project identifier where the module is scoped.

Example: my_project
Header parameters
Harness-Accountstring · min: 1 · max: 128Required

Harness account ID that owns the module.

Example: abc123DEFghiJKL
Body
descriptionstringOptional

Free-form text describing the purpose and usage of the module.

Example: Provisions a VPC with public and private subnets.
git_tag_stylestringOptional

Pattern used to match Git tags for module versioning. Use 'module-name-*' to match tags like 'my-vpc-module-v1.0.0'.

Example: module-name-*
namestring · min: 1 · max: 128Required

Human-readable name of the module. Must be unique within the same scope and system.

Example: my-vpc-module
onboarding_pipelinestringOptional

Identifier of the Harness pipeline used for module onboarding and metadata sync.

Example: Module_Onboarding_Pipeline
onboarding_pipeline_orgstringOptional

Organization where the onboarding pipeline is defined. Defaults to scope_org if not provided.

Example: my_org
onboarding_pipeline_projectstringOptional

Project where the onboarding pipeline is defined. Defaults to scope_project if not provided.

Example: my_project
onboarding_pipeline_syncbooleanOptional

When true, module metadata is automatically synced via the onboarding pipeline when new Git tags are pushed.

Default: falseExample: true
orgstring · max: 1024Optional

Organization identifier where the Git connector is defined. Defaults to scope_org if not provided.

Example: my_org
projectstring · max: 1024Optional

Project identifier where the Git connector is defined. Defaults to scope_project if not provided.

Example: my_project
repositorystringOptional

Name of the Git repository that contains the module source code.

Example: my-terraform-modules
repository_branchstringOptional

Repository Branch in which the code should be accessed.

Example: main
repository_commitstringOptional

Repository Commit/Tag in which the code should be accessed.

Example: abc10ed
repository_connectorstringOptional

Harness Git connector identifier used to access the Git repository. Must reference a valid Git connector in your account. Leave empty when using Harness Code as the repository source.

Example: my_github_connector
repository_pathstringOptional

Repository Path is the path in which the infra code resides.

Default: ""
storage_typestring · enumOptional

Defines how module versions are stored. 'git_reference' resolves versions from Git tags; 'artifact' stores uploaded archive files.

Default: git_referenceExample: git_referencePossible values:
systemstring · min: 1 · max: 128Required

Provider or system the module targets. Lowercase letters only (e.g. aws, gcp, azure, kubernetes).

Example: awsPattern: ^[a-z]+$
tagsstringOptional

Comma-separated list of tags to categorize the module (e.g. networking,vpc,aws).

Example: Rerum maxime.
Responses
200

OK response.

application/json

Create-ModuleResponseBody result type (default view)

accountstring · min: 1 · max: 128Required

Harness account ID that owns the module.

Example: abc123DEFghiJKL
createdinteger · int64Required

Created is the unix timestamp at which the resource was originally created in milliseconds.

Example: 5596925027505741000
descriptionstringOptional

Free-form text describing the purpose and usage of the module.

Example: Provisions a VPC with public and private subnets.
idstringRequired

module id

Example: aaaaaaaa-bbbb-cccc-eeee-ffffffffffff
namestring · min: 1 · max: 128Required

Human-readable name of the module. Must be unique within the same scope and system.

Example: my-vpc-module
orgstring · max: 1024Optional

Organization identifier where the Git connector is defined. Defaults to scope_org if not provided.

Example: my_org
projectstring · max: 1024Optional

Project identifier where the Git connector is defined. Defaults to scope_project if not provided.

Example: my_project
repositorystringOptional

Name of the Git repository that contains the module source code.

Example: my-terraform-modules
repository_branchstringOptional

Repository Branch in which the code should be accessed.

Example: main
repository_commitstringOptional

Repository Commit/Tag in which the code should be accessed.

Example: abc10ed
repository_connectorstringOptional

Harness Git connector identifier used to access the Git repository. Must reference a valid Git connector in your account. Leave empty when using Harness Code as the repository source.

Example: my_github_connector
repository_pathstringOptional

Repository Path is the path in which the infra code resides.

Default: ""
scope_orgstring · max: 1024Optional

Organization identifier where the module is scoped.

Example: my_org
scope_projectstring · max: 1024Optional

Project identifier where the module is scoped.

Example: my_project
storage_typestring · enumOptional

Defines how module versions are stored. 'git_reference' resolves versions from Git tags; 'artifact' stores uploaded archive files.

Default: git_referenceExample: git_referencePossible values:
systemstring · min: 1 · max: 128Required

Provider or system the module targets. Lowercase letters only (e.g. aws, gcp, azure, kubernetes).

Example: awsPattern: ^[a-z]+$
tagsstringOptional

Comma-separated list of tags to categorize the module (e.g. networking,vpc,aws).

Example: Placeat facilis temporibus.
updatedinteger · int64Required

Modified is the unix timestamp at which the resource was last modified in milliseconds.

Example: 9179201742120576000
post/api/modules
POST /api/modules HTTP/1.1
Host: localhost:80
Harness-Account: abc123DEFghiJKL
Content-Type: application/json
Accept: */*
Content-Length: 560

{
  "description": "Provisions a VPC with public and private subnets.",
  "git_tag_style": "module-name-*",
  "name": "my-vpc-module",
  "onboarding_pipeline": "Module_Onboarding_Pipeline",
  "onboarding_pipeline_org": "my_org",
  "onboarding_pipeline_project": "my_project",
  "onboarding_pipeline_sync": false,
  "org": "my_org",
  "project": "my_project",
  "repository": "my-terraform-modules",
  "repository_branch": "main",
  "repository_commit": "abc10ed",
  "repository_connector": "my_github_connector",
  "repository_path": "",
  "storage_type": "git_reference",
  "system": "aws",
  "tags": "Id ab quo nihil soluta."
}
{
  "account": "abc123DEFghiJKL",
  "created": 2358933796303674000,
  "description": "Provisions a VPC with public and private subnets.",
  "id": "aaaaaaaa-bbbb-cccc-eeee-ffffffffffff",
  "name": "my-vpc-module",
  "org": "my_org",
  "project": "my_project",
  "repository": "my-terraform-modules",
  "repository_branch": "main",
  "repository_commit": "abc10ed",
  "repository_connector": "my_github_connector",
  "repository_path": "",
  "scope_org": "my_org",
  "scope_project": "my_project",
  "storage_type": "git_reference",
  "system": "aws",
  "tags": "Ea explicabo amet delectus et atque fugit.",
  "updated": 5078258764486015000
}

List module by id

get

List a module from the module registry by ID

Path parameters
idstringRequired

module id

Example: Unde minus enim quaerat.
Query parameters
scope_orgstringOptional

org name

Example: Natus accusamus velit.
scope_projectstringOptional

project name

Example: Incidunt nesciunt aliquam consequuntur cupiditate.
Header parameters
Harness-AccountstringRequired

account name

Example: Harum hic.
Responses
200

OK response.

application/json
accountstring · min: 1 · max: 128Required

Harness account ID that owns the module.

Example: abc123DEFghiJKL
createdinteger · int64Required

Created is the unix timestamp at which the resource was originally created in milliseconds.

Example: 6130980652232333000
descriptionstringOptional

Free-form text describing the purpose and usage of the module.

Example: Provisions a VPC with public and private subnets.
domain_prefixstringOptional

Domain prefix for the module

Example: Consequatur rerum quam cum quia qui.
git_tag_stylestringOptional

Pattern used to match Git tags for module versioning. Use 'module-name-*' to match tags like 'my-vpc-module-v1.0.0'.

Example: module-name-*
idstringRequired

module id

Example: aaaaaaaa-bbbb-cccc-eeee-ffffffffffff
module_errorstringOptional

error while retrieving the module

Example: Assumenda ut doloribus et.
namestring · min: 1 · max: 128Required

Human-readable name of the module. Must be unique within the same scope and system.

Example: my-vpc-module
namespacestringOptional

Namespace derived from account, org and project for use with the Terraform module registry

Example: Eum ipsam quia quisquam tempora excepturi cum.
onboarding_pipelinestringOptional

Identifier of the Harness pipeline used for module onboarding and metadata sync.

Example: Module_Onboarding_Pipeline
onboarding_pipeline_orgstringOptional

Organization where the onboarding pipeline is defined. Defaults to scope_org if not provided.

Example: my_org
onboarding_pipeline_projectstringOptional

Project where the onboarding pipeline is defined. Defaults to scope_project if not provided.

Example: my_project
onboarding_pipeline_syncbooleanOptional

When true, module metadata is automatically synced via the onboarding pipeline when new Git tags are pushed.

Default: falseExample: true
onboarding_pipeline_whstringOptional

Webhook identifier used to trigger the onboarding pipeline on Git events.

Default: ""Example: webhook_abc123
orgstring · max: 1024Optional

Organization identifier where the Git connector is defined. Defaults to scope_org if not provided.

Example: my_org
projectstring · max: 1024Optional

Project identifier where the Git connector is defined. Defaults to scope_project if not provided.

Example: my_project
repositorystringOptional

Name of the Git repository that contains the module source code.

Example: my-terraform-modules
repository_branchstringOptional

Repository Branch in which the code should be accessed.

Example: main
repository_commitstringOptional

Repository Commit/Tag in which the code should be accessed.

Example: abc10ed
repository_connectorstringOptional

Harness Git connector identifier used to access the Git repository. Must reference a valid Git connector in your account. Leave empty when using Harness Code as the repository source.

Example: my_github_connector
repository_pathstringOptional

Repository Path is the path in which the infra code resides.

Default: ""
repository_urlstringOptional

Repository url.

Example: Qui laudantium quia.
scope_orgstring · max: 1024Optional

Organization identifier where the module is scoped.

Example: my_org
scope_projectstring · max: 1024Optional

Project identifier where the module is scoped.

Example: my_project
storage_typestring · enumOptional

Defines how module versions are stored. 'git_reference' resolves versions from Git tags; 'artifact' stores uploaded archive files.

Default: git_referenceExample: git_referencePossible values:
syncedinteger · int64Required

Synced is the unix timestamp at which the resource was synced for the last time in milliseconds.

Example: 5741574549304509000
systemstring · min: 1 · max: 128Required

Provider or system the module targets. Lowercase letters only (e.g. aws, gcp, azure, kubernetes).

Example: awsPattern: ^[a-z]+$
tagsstringOptional

Comma-separated list of tags to categorize the module (e.g. networking,vpc,aws).

Example: Dolores quae ipsa eveniet.
testing_enabledbooleanOptional

testing enabled

Example: false
updatedinteger · int64Required

Modified is the unix timestamp at which the resource was last modified in milliseconds.

Example: 7361849208876371000
versionsstring[]Optional

versions

Example: ["Cum porro natus ducimus eveniet.","Id qui qui non minus.","Id aut dolores.","Eum ratione commodi sint ut aut omnis."]
get/api/modules/{id}
GET /api/modules/{id} HTTP/1.1
Host: localhost:80
Harness-Account: Harum hic.
Accept: */*
{
  "account": "abc123DEFghiJKL",
  "created": 4790048859587539000,
  "description": "Provisions a VPC with public and private subnets.",
  "domain_prefix": "Voluptas voluptatem quod voluptatem accusamus provident eum.",
  "git_tag_style": "module-name-*",
  "id": "aaaaaaaa-bbbb-cccc-eeee-ffffffffffff",
  "module_error": "Autem distinctio qui exercitationem distinctio.",
  "name": "my-vpc-module",
  "namespace": "Consequatur iste ipsam est quas.",
  "onboarding_pipeline": "Module_Onboarding_Pipeline",
  "onboarding_pipeline_org": "my_org",
  "onboarding_pipeline_project": "my_project",
  "onboarding_pipeline_sync": false,
  "onboarding_pipeline_wh": "webhook_abc123",
  "org": "my_org",
  "project": "my_project",
  "repository": "my-terraform-modules",
  "repository_branch": "main",
  "repository_commit": "abc10ed",
  "repository_connector": "my_github_connector",
  "repository_path": "",
  "repository_url": "Id libero error numquam nam est possimus.",
  "scope_org": "my_org",
  "scope_project": "my_project",
  "storage_type": "artifact",
  "synced": 4401645770135042600,
  "system": "aws",
  "tags": "Aperiam quia.",
  "testing_enabled": true,
  "testing_metadata": {
    "account": "z",
    "org": "slq",
    "pipelines": [
      "Nesciunt laborum.",
      "Voluptatem nam consequatur qui assumenda libero qui.",
      "Suscipit quo qui dolor animi voluptates est."
    ],
    "project": "xw",
    "provider_connector": "Eligendi facilis.",
    "provisioner_type": "Et ut ipsum dolores ratione mollitia cum.",
    "provisioner_version": "Totam qui.",
    "release_pipeline": "Voluptates rerum dolorem."
  },
  "updated": 2912870350075662300,
  "version_statuses": {
    "Ex nesciunt similique.": "Voluptates qui quia labore."
  },
  "versions": [
    "Omnis possimus qui.",
    "Animi exercitationem dignissimos.",
    "Cum aut vel consectetur rem.",
    "Excepturi ut molestiae quidem saepe et doloremque."
  ]
}

Update module

put

Update a module in the module registry

Path parameters
idstringRequired

module id

Example: aaaaaaaa-bbbb-cccc-eeee-ffffffffffff
Query parameters
scope_orgstring · max: 1024Optional

Organization identifier where the module is scoped.

Example: my_org
scope_projectstring · max: 1024Optional

Project identifier where the module is scoped.

Example: my_project
Header parameters
Harness-Accountstring · min: 1 · max: 128Required

Harness account ID that owns the module.

Example: abc123DEFghiJKL
Body
descriptionstringOptional

Free-form text describing the purpose and usage of the module.

Example: Provisions a VPC with public and private subnets.
git_tag_stylestringOptional

Pattern used to match Git tags for module versioning. Use 'module-name-*' to match tags like 'my-vpc-module-v1.0.0'.

Example: module-name-*
namestring · min: 1 · max: 128Required

Human-readable name of the module. Must be unique within the same scope and system.

Example: my-vpc-module
onboarding_pipelinestringOptional

Identifier of the Harness pipeline used for module onboarding and metadata sync.

Example: Module_Onboarding_Pipeline
onboarding_pipeline_orgstringOptional

Organization where the onboarding pipeline is defined. Defaults to scope_org if not provided.

Example: my_org
onboarding_pipeline_projectstringOptional

Project where the onboarding pipeline is defined. Defaults to scope_project if not provided.

Example: my_project
onboarding_pipeline_syncbooleanOptional

When true, module metadata is automatically synced via the onboarding pipeline when new Git tags are pushed.

Default: falseExample: true
orgstring · max: 1024Optional

Organization identifier where the Git connector is defined. Defaults to scope_org if not provided.

Example: my_org
projectstring · max: 1024Optional

Project identifier where the Git connector is defined. Defaults to scope_project if not provided.

Example: my_project
repositorystringOptional

Name of the Git repository that contains the module source code.

Example: my-terraform-modules
repository_branchstringOptional

Repository Branch in which the code should be accessed.

Example: main
repository_commitstringOptional

Repository Commit/Tag in which the code should be accessed.

Example: abc10ed
repository_connectorstringOptional

Harness Git connector identifier used to access the Git repository. Must reference a valid Git connector in your account. Leave empty when using Harness Code as the repository source.

Example: my_github_connector
repository_pathstringOptional

Repository Path is the path in which the infra code resides.

Default: ""
storage_typestring · enumOptional

Defines how module versions are stored. 'git_reference' resolves versions from Git tags; 'artifact' stores uploaded archive files.

Default: git_referenceExample: git_referencePossible values:
systemstring · min: 1 · max: 128Required

Provider or system the module targets. Lowercase letters only (e.g. aws, gcp, azure, kubernetes).

Example: awsPattern: ^[a-z]+$
tagsstringOptional

Comma-separated list of tags to categorize the module (e.g. networking,vpc,aws).

Example: Iure excepturi est amet consectetur.
Responses
200

OK response.

No content

put/api/modules/{id}
PUT /api/modules/{id} HTTP/1.1
Host: localhost:80
Harness-Account: abc123DEFghiJKL
Content-Type: application/json
Accept: */*
Content-Length: 551

{
  "description": "Provisions a VPC with public and private subnets.",
  "git_tag_style": "module-name-*",
  "name": "my-vpc-module",
  "onboarding_pipeline": "Module_Onboarding_Pipeline",
  "onboarding_pipeline_org": "my_org",
  "onboarding_pipeline_project": "my_project",
  "onboarding_pipeline_sync": true,
  "org": "my_org",
  "project": "my_project",
  "repository": "my-terraform-modules",
  "repository_branch": "main",
  "repository_commit": "abc10ed",
  "repository_connector": "my_github_connector",
  "repository_path": "",
  "storage_type": "git_reference",
  "system": "aws",
  "tags": "Voluptatem non."
}

No content

Delete module

delete

Delete a module from the module registry

Path parameters
idstringRequired

id

Example: Eligendi porro commodi perspiciatis et repellendus quia.
Query parameters
scope_orgstringOptional

org name

Example: Ex iusto mollitia quibusdam doloremque voluptatem dignissimos.
scope_projectstringOptional

project name

Example: Molestias sequi saepe ab nemo veritatis.
Header parameters
Harness-AccountstringRequired

account name

Example: Magni quis.
Responses
204

No Content response.

No content

delete/api/modules/{id}
DELETE /api/modules/{id} HTTP/1.1
Host: localhost:80
Harness-Account: Magni quis.
Accept: */*

No content

Get module lifecycle rule

get

Get the lifecycle rule for a module

Path parameters
idstringRequired

Module ID

Example: In dicta ducimus occaecati.
Query parameters
scope_orgstringOptional

Org scope of the module

Example: Porro nihil.
scope_projectstringOptional

Project scope of the module

Example: Est et.
Header parameters
Harness-AccountstringRequired

Account name

Example: Veritatis quasi unde ratione odit sunt corporis.
Responses
200

OK response.

application/json
deprecated_actionstring · enumRequired

Enforcement action for deprecated-tier versions

Default: failExample: failPossible values:
supported_actionstring · enumRequired

Enforcement action for supported-tier versions

Default: no_actionExample: warnPossible values:
supported_countinteger · int64 · min: 1Required

Number of most-recent non-pre-release versions classified as supported

Example: 3
warning_actionstring · enumRequired

Enforcement action for warning-tier versions

Default: warnExample: failPossible values:
warning_countinteger · int64Required

Number of versions immediately after the supported window classified as warning

Example: 2
get/api/modules/{id}/lifecycle
GET /api/modules/{id}/lifecycle HTTP/1.1
Host: localhost:80
Harness-Account: Veritatis quasi unde ratione odit sunt corporis.
Accept: */*
{
  "deprecated_action": "warn",
  "overrides": [
    {
      "reason": "s9z",
      "tier": "deprecated",
      "version": "v2.1.0"
    },
    {
      "reason": "s9z",
      "tier": "deprecated",
      "version": "v2.1.0"
    },
    {
      "reason": "s9z",
      "tier": "deprecated",
      "version": "v2.1.0"
    }
  ],
  "supported_action": "warn",
  "supported_count": 3,
  "warning_action": "warn",
  "warning_count": 2
}

Upsert module lifecycle rule

put

Create or replace the lifecycle rule for a module, atomically replacing all overrides

Path parameters
idstringRequired

Module ID

Example: Dolorem et iure aut ut.
Query parameters
scope_orgstringOptional

Org scope of the module

Example: Et et.
scope_projectstringOptional

Project scope of the module

Example: Harum eius adipisci id ut temporibus.
Header parameters
Harness-AccountstringRequired

Account name

Example: Quasi qui dolores.
Body

Lifecycle rule configuration for a module registry module

deprecated_actionstring · enumRequired

Enforcement action for deprecated-tier versions

Default: failExample: failPossible values:
supported_actionstring · enumRequired

Enforcement action for supported-tier versions

Default: no_actionExample: no_actionPossible values:
supported_countinteger · int64 · min: 1Required

Number of most-recent non-pre-release versions classified as supported

Example: 3
warning_actionstring · enumRequired

Enforcement action for warning-tier versions

Default: warnExample: no_actionPossible values:
warning_countinteger · int64Required

Number of versions immediately after the supported window classified as warning

Example: 2
Responses
200

OK response.

application/json
deprecated_actionstring · enumRequired

Enforcement action for deprecated-tier versions

Default: failExample: warnPossible values:
supported_actionstring · enumRequired

Enforcement action for supported-tier versions

Default: no_actionExample: warnPossible values:
supported_countinteger · int64 · min: 1Required

Number of most-recent non-pre-release versions classified as supported

Example: 3
warning_actionstring · enumRequired

Enforcement action for warning-tier versions

Default: warnExample: warnPossible values:
warning_countinteger · int64Required

Number of versions immediately after the supported window classified as warning

Example: 2
put/api/modules/{id}/lifecycle
PUT /api/modules/{id}/lifecycle HTTP/1.1
Host: localhost:80
Harness-Account: Quasi qui dolores.
Content-Type: application/json
Accept: */*
Content-Length: 295

{
  "deprecated_action": "fail",
  "overrides": [
    {
      "reason": "obv",
      "tier": "supported",
      "version": "v2.1.0"
    },
    {
      "reason": "obv",
      "tier": "supported",
      "version": "v2.1.0"
    },
    {
      "reason": "obv",
      "tier": "supported",
      "version": "v2.1.0"
    }
  ],
  "supported_action": "fail",
  "supported_count": 3,
  "warning_action": "warn",
  "warning_count": 2
}
{
  "deprecated_action": "no_action",
  "overrides": [
    {
      "reason": "s9z",
      "tier": "deprecated",
      "version": "v2.1.0"
    },
    {
      "reason": "s9z",
      "tier": "deprecated",
      "version": "v2.1.0"
    },
    {
      "reason": "s9z",
      "tier": "deprecated",
      "version": "v2.1.0"
    }
  ],
  "supported_action": "no_action",
  "supported_count": 3,
  "warning_action": "warn",
  "warning_count": 2
}

Delete module lifecycle rule

delete

Delete the lifecycle rule and all overrides for a module; all versions revert to supported

Path parameters
idstringRequired

Module ID

Example: Voluptas officiis beatae dolorem error.
Query parameters
scope_orgstringOptional

Org scope of the module

Example: Suscipit aut vel sit fugiat.
scope_projectstringOptional

Project scope of the module

Example: Saepe omnis recusandae et.
Header parameters
Harness-AccountstringRequired

Account name

Example: Delectus excepturi odio.
Responses
204

No Content response.

No content

delete/api/modules/{id}/lifecycle
DELETE /api/modules/{id}/lifecycle HTTP/1.1
Host: localhost:80
Harness-Account: Delectus excepturi odio.
Accept: */*

No content

Get module version lifecycle status

get

Compute the lifecycle tier and enforcement action for a specific module version

Path parameters
idstringRequired

Module ID

Example: Voluptate aut ut rerum nobis.
versionstringRequired

Version to look up

Example: Veniam est.
Query parameters
scope_orgstringOptional

Org scope of the module

Example: Possimus porro.
scope_projectstringOptional

Project scope of the module

Example: Eveniet amet nostrum a dolorum.
Header parameters
Harness-AccountstringRequired

Account name

Example: Et corrupti est corrupti voluptatum et.
Responses
200

OK response.

application/json
actionstring · enumRequired

Enforcement action derived from the tier's rule action

Example: warnPossible values:
minimum_supported_versionstringOptional

The lowest-numbered version currently in the supported tier

Example: Iure asperiores.
tierstring · enumRequired

Lifecycle tier: supported, warning, or deprecated

Example: deprecatedPossible values:
get/api/modules/{id}/lifecycle/versions/{version}
GET /api/modules/{id}/lifecycle/versions/{version} HTTP/1.1
Host: localhost:80
Harness-Account: Et corrupti est corrupti voluptatum et.
Accept: */*
{
  "action": "fail",
  "minimum_supported_version": "In dicta.",
  "tier": "deprecated"
}

Create testing pipeline

post

Create a new testing pipeline for a given module

Path parameters
idstringRequired

module id

Example: Dolor provident dolorum.
Query parameters
scope_orgstringOptional

org name

Example: Corporis et voluptatem ab illum maxime.
scope_projectstringOptional

project name

Example: Accusamus dolor doloribus reiciendis et blanditiis ut.
Header parameters
Harness-AccountstringRequired

account name

Example: Eius odit omnis magnam.
Body
pipeline_orgstringRequired

pipeline org

Example: Incidunt ea sed est.
pipeline_projectstringRequired

pipeline project

Example: Voluptas expedita sit necessitatibus repudiandae perferendis.
typestringOptional

type of the pipeline to create

Default: testExample: Praesentium fuga et dolore quia.
Responses
201

Created response.

No content

post/api/modules/{id}/pipeline
POST /api/modules/{id}/pipeline HTTP/1.1
Host: localhost:80
Harness-Account: Eius odit omnis magnam.
Content-Type: application/json
Accept: */*
Content-Length: 132

{
  "pipeline_org": "Id est illum accusamus doloribus.",
  "pipeline_project": "Voluptatem rerum et.",
  "type": "Nihil pariatur pariatur sit."
}

No content

Sync module metadata

post

Sync the module metadata from the module registry

Path parameters
idstringRequired

id

Example: Neque rerum sunt ipsum.
Query parameters
scope_orgstringOptional

org name

Example: Quia quo consectetur voluptas enim non quo.
scope_projectstringOptional

project name

Example: Sapiente dolorem esse.
Header parameters
Harness-AccountstringRequired

account name

Example: Corrupti sint qui.
Responses
204

No Content response.

No content

post/api/modules/{id}/sync
POST /api/modules/{id}/sync HTTP/1.1
Host: localhost:80
Harness-Account: Corrupti sint qui.
Accept: */*

No content

List module tags

get

List the module tags from the module registry

Path parameters
idstringRequired

module id

Example: Enim repellendus quia.
Query parameters
scope_orgstringOptional

org name

Example: In error excepturi voluptas.
scope_projectstringOptional

project name

Example: Odio quia itaque eos omnis.
Header parameters
Harness-AccountstringRequired

account name

Example: Labore debitis eum.
Responses
200

OK response.

application/json
string[]OptionalExample: ["Nisi quae.","Vitae architecto nihil ratione nemo."]
get/api/modules/{id}/tags
GET /api/modules/{id}/tags HTTP/1.1
Host: localhost:80
Harness-Account: Labore debitis eum.
Accept: */*
[
  "Sit totam.",
  "Tenetur rerum in explicabo.",
  "Voluptatum et voluptatem.",
  "Distinctio fugiat rem possimus."
]

Enable testing

post

Enable testing for a module

Path parameters
idstringRequired

module id

Example: Deserunt voluptatum adipisci maxime qui.
Query parameters
scope_orgstringOptional

module org

Example: Dicta ullam et quisquam est non qui.
scope_projectstringOptional

module project

Example: Ea fuga porro corrupti.
Header parameters
Harness-AccountstringRequired

account name

Example: Ipsum qui eum nesciunt est impedit doloribus.
Body
pipeline_idstring[]Optional

pipelines to create the webhooks to trigger the executions for testing

Example: ["Beatae quibusdam illum cupiditate eligendi.","Repellat consequuntur iure.","Eos eos qui aliquam a.","Repellat laboriosam ducimus."]
pipeline_orgstringRequired

pipeline org

Example: Exercitationem accusantium blanditiis vitae.
pipeline_projectstringRequired

pipeline project

Example: Molestiae quae.
provider_connectorstringOptional

provider connector

Default: ""Example: Est nihil impedit magni.
provisioner_typestringRequired

provisioner type

Example: Qui perferendis.
provisioner_versionstringRequired

provisioner version

Example: Dignissimos alias illum sequi quis architecto.
release_pipelinestringOptional

pipeline to create the webhooks for releases

Example: Dolorem consequatur rerum temporibus natus voluptas eius.
Responses
204

No Content response.

No content

post/api/modules/{id}/testing
POST /api/modules/{id}/testing HTTP/1.1
Host: localhost:80
Harness-Account: Ipsum qui eum nesciunt est impedit doloribus.
Content-Type: application/json
Accept: */*
Content-Length: 452

{
  "pipeline_id": [
    "Eaque amet rerum atque iusto saepe.",
    "Laboriosam omnis voluptatem deserunt odit et.",
    "Ducimus iste rem.",
    "Cupiditate exercitationem."
  ],
  "pipeline_org": "Culpa expedita.",
  "pipeline_project": "Eius et ut dolorem quasi sed.",
  "provider_connector": "Maxime voluptate consequatur.",
  "provisioner_type": "Possimus ut.",
  "provisioner_version": "Atque qui eos occaecati perspiciatis sequi.",
  "release_pipeline": "Ad qui minima culpa fugiat aperiam aut."
}

No content

Update module testing

put

Update module testing metadata

Path parameters
idstringRequired

module id

Example: Ut quae consequatur.
Query parameters
scope_orgstringOptional

module org

Example: Placeat laudantium beatae illum.
scope_projectstringOptional

module project

Example: Omnis quod occaecati dolor veniam aliquid ut.
Header parameters
Harness-AccountstringRequired

account name

Example: Consequuntur aut.
Body
pipeline_idstring[]Optional

pipelines to create the webhooks to trigger the executions for testing

Example: ["Ratione explicabo modi esse et.","In rerum.","Optio rerum unde accusamus molestiae nisi est."]
pipeline_orgstringRequired

pipeline org

Example: Sit alias maiores occaecati harum.
pipeline_projectstringRequired

pipeline project

Example: Aut qui commodi.
provider_connectorstringOptional

provider connector

Default: ""Example: Temporibus deleniti doloremque.
provisioner_typestringRequired

provisioner type

Example: Eaque omnis.
provisioner_versionstringRequired

provisioner version

Example: Quod eum qui mollitia commodi.
release_pipelinestringOptional

pipeline to create the webhooks for releases

Example: Occaecati quia ut rerum quos.
Responses
200

OK response.

No content

put/api/modules/{id}/testing
PUT /api/modules/{id}/testing HTTP/1.1
Host: localhost:80
Harness-Account: Consequuntur aut.
Content-Type: application/json
Accept: */*
Content-Length: 487

{
  "pipeline_id": [
    "Consequatur sint et a et.",
    "Perspiciatis voluptatem minima laudantium natus eveniet quia.",
    "Omnis quae architecto earum earum.",
    "A blanditiis ut sit quis non perspiciatis."
  ],
  "pipeline_org": "Et tenetur et rerum illum sint.",
  "pipeline_project": "Sed voluptas perferendis.",
  "provider_connector": "Quasi non.",
  "provisioner_type": "Voluptatem dolorem dolor provident voluptas quis sed.",
  "provisioner_version": "Totam officia.",
  "release_pipeline": "Itaque dolores qui reiciendis."
}

No content

Disable testing

delete

Disable testing for a module

Path parameters
idinteger · int64Required

module id

Example: 3132400572179086300
Query parameters
scope_orgstringOptional

org name

Example: Cupiditate sunt minima ab consequatur eveniet eligendi.
scope_projectstringOptional

project name

Example: Sequi perferendis porro non hic a.
Header parameters
Harness-AccountstringRequired

account name

Example: Quia voluptatem similique possimus voluptatibus repellat voluptatum.
Responses
204

No Content response.

No content

delete/api/modules/{id}/testing
DELETE /api/modules/{id}/testing HTTP/1.1
Host: localhost:80
Harness-Account: Quia voluptatem similique possimus voluptatibus repellat voluptatum.
Accept: */*

No content

Delete module version

delete

Delete a specific version from a module in the module registry

Path parameters
idstringRequired

module id

Example: Aut a ab debitis sunt.
versionstringRequired

version to delete

Example: Recusandae blanditiis.
Query parameters
scope_orgstringOptional

org name

Example: Qui autem ut voluptas ipsa.
scope_projectstringOptional

project name

Example: Assumenda doloribus.
Header parameters
Harness-AccountstringRequired

account name

Example: Provident qui amet beatae.
Responses
204

No Content response.

No content

delete/api/modules/{id}/versions/{version}
DELETE /api/modules/{id}/versions/{version} HTTP/1.1
Host: localhost:80
Harness-Account: Provident qui amet beatae.
Accept: */*

No content

Get module example file

get

Download a single file from a module version's examples/ tree. The path must begin with "examples/" and identify a file (not a directory).

Path parameters
module_idstringRequired

module id

Example: Alias nulla laudantium expedita.
Query parameters
versionstringRequired

version of the module

Example: Qui iusto repudiandae.
scope_orgstringOptional

org name

Example: Est illo quia et molestias.
scope_projectstringOptional

project name

Example: Et pariatur sed quidem maxime.
pathstring · min: 1 · max: 1024Required

relative path under the module root; must begin with "examples/" and identify a file (e.g. "examples/iam-account/main.tf" or "examples/iam-account/modules/foo/main.tf")

Example: ePattern: ^[a-zA-Z0-9_-][a-zA-Z0-9._/-]*$
Header parameters
Harness-AccountstringRequired

account name

Example: Molestias dolore consequatur voluptatem voluptas.
Responses
200

OK response.

application/json
string · binaryOptional
get/api/modules/{module_id}/examples/file
GET /api/modules/{module_id}/examples/file?version=Qui+iusto+repudiandae.&path=e HTTP/1.1
Host: localhost:80
Harness-Account: Molestias dolore consequatur voluptatem voluptas.
Accept: */*
binary

List module example tree

get

List the immediate children (files and subdirectories) at the given path within a module version's examples/ tree. The path must be exactly "examples" (root listing) or begin with "examples/". Returns one level of entries, each tagged as a file or directory.

Path parameters
module_idstringRequired

module id

Example: Quas ducimus illum nulla animi.
Query parameters
versionstringRequired

version of the module

Example: Voluptas necessitatibus voluptas.
scope_orgstringOptional

org name

Example: Temporibus tempora.
scope_projectstringOptional

project name

Example: Eligendi totam vel.
pathstring · min: 1 · max: 1024Required

relative path under the module root; must be "examples" or begin with "examples/"

Example: kPattern: ^[a-zA-Z0-9_-][a-zA-Z0-9._/-]*$
Header parameters
Harness-AccountstringRequired

account name

Example: Harum enim odit vel illum amet.
Responses
200

OK response.

application/json
get/api/modules/{module_id}/examples/tree
GET /api/modules/{module_id}/examples/tree?version=Voluptas+necessitatibus+voluptas.&path=k HTTP/1.1
Host: localhost:80
Harness-Account: Harum enim odit vel illum amet.
Accept: */*
{
  "items": [
    {
      "content_type": "directory",
      "name": "Doloremque voluptates.",
      "path": "Laboriosam et perspiciatis dolores tempora mollitia."
    },
    {
      "content_type": "directory",
      "name": "Doloremque voluptates.",
      "path": "Laboriosam et perspiciatis dolores tempora mollitia."
    },
    {
      "content_type": "directory",
      "name": "Doloremque voluptates.",
      "path": "Laboriosam et perspiciatis dolores tempora mollitia."
    },
    {
      "content_type": "directory",
      "name": "Doloremque voluptates.",
      "path": "Laboriosam et perspiciatis dolores tempora mollitia."
    }
  ]
}

List module metadata

get

List the module metadata from the module registry

Path parameters
module_idstringRequired

module id

Example: In amet.
Query parameters
versionstringRequired

version of the module

Example: Nisi cumque fugiat repellendus.
submodulestringOptional

submodule name

Example: Consequuntur et dolorem dolores quo sequi aut.
scope_orgstringOptional

org name

Example: Impedit eaque voluptatum.
scope_projectstringOptional

project name

Example: Et sed fugiat nesciunt.
Header parameters
Harness-AccountstringRequired

account name

Example: Cumque qui nam.
Responses
200

OK response.

application/json
accountstringRequired

account name

Example: Ut officia quaerat repellendus accusantium aspernatur.
examples_pathsstring[]Optional

Example directories discovered for this module version

Example: ["Velit omnis eum omnis praesentium blanditiis et.","Adipisci ut."]
metadata_errorstringOptional

error while retrieving the module

Example: Unde sunt et.
module_versionstringRequired

module version

Example: Maiores facilis et veritatis error non quis.
namestringRequired

module name

Example: Ut dolorum hic ad.
scope_orgstringOptional

org name

Example: Repellendus quod natus id fuga.
scope_projectstringOptional

project name

Example: Sit molestiae aliquid est laboriosam.
submodulestring[]Optional

Submodules of the module

Example: ["Et rem officia quisquam veritatis.","Porro vel quae."]
systemstringRequired

system name

Example: Veritatis perspiciatis perspiciatis dicta doloremque rerum.
get/api/modules/{module_id}/metadata
GET /api/modules/{module_id}/metadata?version=Nisi+cumque+fugiat+repellendus. HTTP/1.1
Host: localhost:80
Harness-Account: Cumque qui nam.
Accept: */*
{
  "account": "Quisquam voluptatum rerum.",
  "dependencies": [
    {
      "dependency_name": "Eos officiis.",
      "dependency_source": "Nihil culpa exercitationem libero aperiam qui.",
      "dependency_version": "Sequi maiores qui quis facere."
    },
    {
      "dependency_name": "Eos officiis.",
      "dependency_source": "Nihil culpa exercitationem libero aperiam qui.",
      "dependency_version": "Sequi maiores qui quis facere."
    },
    {
      "dependency_name": "Eos officiis.",
      "dependency_source": "Nihil culpa exercitationem libero aperiam qui.",
      "dependency_version": "Sequi maiores qui quis facere."
    },
    {
      "dependency_name": "Eos officiis.",
      "dependency_source": "Nihil culpa exercitationem libero aperiam qui.",
      "dependency_version": "Sequi maiores qui quis facere."
    }
  ],
  "examples_paths": [
    "Ipsum quia suscipit.",
    "Et et quos."
  ],
  "metadata_error": "Laboriosam neque voluptate.",
  "module_version": "Nam blanditiis.",
  "name": "Accusamus ullam odit reprehenderit perferendis.",
  "outputs": [
    {
      "output_description": "Quo ullam ipsa nostrum.",
      "output_name": "Et quaerat doloremque in distinctio.",
      "output_sensitive": false
    },
    {
      "output_description": "Quo ullam ipsa nostrum.",
      "output_name": "Et quaerat doloremque in distinctio.",
      "output_sensitive": false
    },
    {
      "output_description": "Quo ullam ipsa nostrum.",
      "output_name": "Et quaerat doloremque in distinctio.",
      "output_sensitive": false
    },
    {
      "output_description": "Quo ullam ipsa nostrum.",
      "output_name": "Et quaerat doloremque in distinctio.",
      "output_sensitive": false
    }
  ],
  "providers": [
    {
      "provider_name": "Rem quo nihil.",
      "provider_source": "Ipsa in velit quam rerum reiciendis.",
      "provider_version": "Provident enim laboriosam."
    },
    {
      "provider_name": "Rem quo nihil.",
      "provider_source": "Ipsa in velit quam rerum reiciendis.",
      "provider_version": "Provident enim laboriosam."
    },
    {
      "provider_name": "Rem quo nihil.",
      "provider_source": "Ipsa in velit quam rerum reiciendis.",
      "provider_version": "Provident enim laboriosam."
    }
  ],
  "resources": [
    {
      "resource_name": "Quisquam et recusandae minima nemo.",
      "resource_type": "Voluptatibus error corporis et porro."
    },
    {
      "resource_name": "Quisquam et recusandae minima nemo.",
      "resource_type": "Voluptatibus error corporis et porro."
    },
    {
      "resource_name": "Quisquam et recusandae minima nemo.",
      "resource_type": "Voluptatibus error corporis et porro."
    },
    {
      "resource_name": "Quisquam et recusandae minima nemo.",
      "resource_type": "Voluptatibus error corporis et porro."
    }
  ],
  "scope_org": "Iusto laborum asperiores.",
  "scope_project": "Magni earum sequi laborum reiciendis itaque.",
  "submodule": [
    "Aliquid ut debitis quidem laborum sit et.",
    "Consectetur ut.",
    "Ipsam voluptates.",
    "Quisquam quis veritatis rerum quo a eius."
  ],
  "system": "Laudantium omnis libero.",
  "variables": [
    {
      "variable_default": "Qui porro doloribus.",
      "variable_description": "Nesciunt expedita quae fugiat dolorem hic.",
      "variable_name": "Labore exercitationem qui.",
      "variable_required": true,
      "variable_sensitive": true,
      "variable_type": "Et explicabo eum."
    },
    {
      "variable_default": "Qui porro doloribus.",
      "variable_description": "Nesciunt expedita quae fugiat dolorem hic.",
      "variable_name": "Labore exercitationem qui.",
      "variable_required": true,
      "variable_sensitive": true,
      "variable_type": "Et explicabo eum."
    }
  ]
}

List module readme

get

List the module readme from the module registry

Path parameters
module_idstringRequired

module id

Example: Ratione iure.
Query parameters
versionstringRequired

version of the module

Example: Rerum sit deserunt aliquam.
submodulestringOptional

submodule name

Example: Autem dolorem.
scope_orgstringOptional

org name

Example: Magni dolorem velit sint sapiente modi.
scope_projectstringOptional

project name

Example: Ducimus mollitia reiciendis quia et.
Header parameters
Harness-AccountstringRequired

account name

Example: Earum possimus sint aut voluptatem et.
Responses
200

OK response.

application/json
string · binaryOptional
get/api/modules/{module_id}/readme
GET /api/modules/{module_id}/readme?version=Rerum+sit+deserunt+aliquam. HTTP/1.1
Host: localhost:80
Harness-Account: Earum possimus sint aut voluptatem et.
Accept: */*
binary

Send an event related with a module execution

post

Send an event related with a module execution

Path parameters
moduleIdstring · min: 1 · max: 1024Required

module id associated with this event

Example: 3
Body
accountstringRequired

account name

Example: Qui quos.
eventTypestringRequired

The type of event that occurred

Example: Est labore.
orgstringRequired

pipeline org

Example: Repellat dolores nisi aut nostrum.
projectstringRequired

pipeline project

Example: Expedita in eos eius deleniti consequatur eligendi.
Responses
200

OK response.

No content

post/api/modules/{moduleId}/events
POST /api/modules/{moduleId}/events HTTP/1.1
Host: localhost:80
Content-Type: application/json
Accept: */*
Content-Length: 519

{
  "account": "Dolore sed consequatur ab tempora ut occaecati.",
  "eventType": "Amet ullam incidunt eligendi.",
  "metadata": {
    "pipeline": "Tempora sit consectetur qui eligendi deleniti et.",
    "pipeline_execution_id": "Dolorum est eveniet consequatur.",
    "pipeline_execution_number": "Dolorum recusandae.",
    "pipeline_name": "Dolores veritatis possimus.",
    "pipeline_stage_id": "Quae rem enim voluptas.",
    "trigger": {
      "Molestiae tempore dignissimos quam.": "In enim corrupti facilis facere est."
    }
  },
  "org": "Qui eveniet.",
  "project": "Corrupti odio."
}

No content

List executions for a specific module

get

List all module executions for a module.

Path parameters
moduleIdstringRequired

Module identifier

Example: Ea dignissimos.
Query parameters
limitinteger · int64 · min: 1 · max: 1000Optional

Limit is the number of records to return for a page.

Default: 30Example: 30
pageinteger · int64 · min: 1Optional

Page is the page number to return relative to the page 'limit'.

Default: 1Example: 1
pipeline_execution_idstringOptional

Pipeline identifier

Example: Eligendi accusantium dicta est accusantium eaque rerum.
statusstring[]Optional

Status of the execution

Example: ["Nulla fugiat odit exercitationem voluptatem temporibus iste.","Consequatur consectetur veritatis iste aliquam porro necessitatibus.","Reprehenderit laborum dignissimos.","Architecto dicta."]
start_timeinteger · int64Optional

Specify the start time for the query

Example: 1691150743950
end_timeinteger · int64Optional

Specify the end time limit for the query

Example: 1691150743950
module_onboardingbooleanOptional

Is module onboarding execution

Default: falseExample: true
scope_orgstringOptional

org name

Example: Placeat ratione eveniet id aut tenetur ut.
scope_projectstringOptional

project name

Example: Sed iste et dolore repudiandae molestias.
Header parameters
Harness-Accountstring · min: 1 · max: 128Required

Account is the internal customer account ID.

Example: u
Responses
200

OK response.

application/json
get/api/modules/{moduleId}/executions
GET /api/modules/{moduleId}/executions HTTP/1.1
Host: localhost:80
Harness-Account: u
Accept: */*
[
  {
    "account": "Modi in explicabo reprehenderit.",
    "created": 279017616569416420,
    "metadata": {
      "pipeline": "Voluptate beatae voluptatem dolorem illo quibusdam alias.",
      "pipeline_execution_id": "Deserunt nesciunt voluptas voluptas molestias.",
      "pipeline_execution_number": "Enim voluptate nihil autem.",
      "pipeline_name": "Sint modi non nihil aperiam molestiae.",
      "pipeline_stage_id": "Magnam perferendis non ipsa temporibus quo modi.",
      "trigger": {
        "Cum soluta et facere aut illum.": "Facilis ratione accusantium illum.",
        "Qui accusamus aut quasi doloremque est.": "Itaque ea qui quis blanditiis."
      }
    },
    "module_onboarding": false,
    "moduleId": "Quam temporibus et.",
    "org": "Sunt ut.",
    "project": "At sapiente aliquam.",
    "status": "Sunt consequuntur."
  },
  {
    "account": "Modi in explicabo reprehenderit.",
    "created": 279017616569416420,
    "metadata": {
      "pipeline": "Voluptate beatae voluptatem dolorem illo quibusdam alias.",
      "pipeline_execution_id": "Deserunt nesciunt voluptas voluptas molestias.",
      "pipeline_execution_number": "Enim voluptate nihil autem.",
      "pipeline_name": "Sint modi non nihil aperiam molestiae.",
      "pipeline_stage_id": "Magnam perferendis non ipsa temporibus quo modi.",
      "trigger": {
        "Cum soluta et facere aut illum.": "Facilis ratione accusantium illum.",
        "Qui accusamus aut quasi doloremque est.": "Itaque ea qui quis blanditiis."
      }
    },
    "module_onboarding": false,
    "moduleId": "Quam temporibus et.",
    "org": "Sunt ut.",
    "project": "At sapiente aliquam.",
    "status": "Sunt consequuntur."
  },
  {
    "account": "Modi in explicabo reprehenderit.",
    "created": 279017616569416420,
    "metadata": {
      "pipeline": "Voluptate beatae voluptatem dolorem illo quibusdam alias.",
      "pipeline_execution_id": "Deserunt nesciunt voluptas voluptas molestias.",
      "pipeline_execution_number": "Enim voluptate nihil autem.",
      "pipeline_name": "Sint modi non nihil aperiam molestiae.",
      "pipeline_stage_id": "Magnam perferendis non ipsa temporibus quo modi.",
      "trigger": {
        "Cum soluta et facere aut illum.": "Facilis ratione accusantium illum.",
        "Qui accusamus aut quasi doloremque est.": "Itaque ea qui quis blanditiis."
      }
    },
    "module_onboarding": false,
    "moduleId": "Quam temporibus et.",
    "org": "Sunt ut.",
    "project": "At sapiente aliquam.",
    "status": "Sunt consequuntur."
  },
  {
    "account": "Modi in explicabo reprehenderit.",
    "created": 279017616569416420,
    "metadata": {
      "pipeline": "Voluptate beatae voluptatem dolorem illo quibusdam alias.",
      "pipeline_execution_id": "Deserunt nesciunt voluptas voluptas molestias.",
      "pipeline_execution_number": "Enim voluptate nihil autem.",
      "pipeline_name": "Sint modi non nihil aperiam molestiae.",
      "pipeline_stage_id": "Magnam perferendis non ipsa temporibus quo modi.",
      "trigger": {
        "Cum soluta et facere aut illum.": "Facilis ratione accusantium illum.",
        "Qui accusamus aut quasi doloremque est.": "Itaque ea qui quis blanditiis."
      }
    },
    "module_onboarding": false,
    "moduleId": "Quam temporibus et.",
    "org": "Sunt ut.",
    "project": "At sapiente aliquam.",
    "status": "Sunt consequuntur."
  }
]

Create a new module execution

post

Create a new module execution.

Path parameters
moduleIdstringRequired

The unique identifier for the associated module

Example: Aut omnis quia mollitia illum.
Body
accountstringRequired

account name

Example: Repudiandae quaerat possimus alias iste error.
module_onboardingbooleanOptional

Is module onboarding execution

Default: falseExample: true
pipelinestringRequired

The unique identifier for the associated pipeline

Example: Doloribus porro illo dolor incidunt nam.
pipeline_orgstringRequired

pipeline org

Example: Rerum aut aut.
pipeline_projectstringRequired

pipeline project

Example: Ad odit aliquid voluptate.
pipelineExecutionIdstringRequired

The unique identifier for the associated pipeline execution

Example: Corporis ut non dolorem magnam qui.
pipelineStageIdstringRequired

The unique identifier for the associated pipeline stage

Example: Quia molestiae nihil accusamus totam.
Responses
200

OK response.

application/json
accountstringRequired

account name

Example: Ut ea optio dolorem eos magnam sed.
createdinteger · int64Required

Created is the unix timestamp at which the resource was originally created in milliseconds.

Example: 5932874736437598000
module_onboardingbooleanOptional

Is module onboarding execution

Default: falseExample: true
moduleIdstringRequired

The unique identifier for the associated module

Example: Quia fugiat sunt assumenda qui.
orgstringRequiredExample: Velit dignissimos distinctio aut porro quia.
projectstringRequiredExample: Nisi voluptatem.
statusstringRequired

The overall status of the execution

Example: Fugit autem cupiditate perferendis.
post/api/modules/{moduleId}/executions
POST /api/modules/{moduleId}/executions HTTP/1.1
Host: localhost:80
Content-Type: application/json
Accept: */*
Content-Length: 269

{
  "account": "Sit provident iure neque est.",
  "module_onboarding": false,
  "pipeline": "Nostrum est debitis tenetur corporis soluta.",
  "pipeline_org": "Nobis amet fugiat.",
  "pipeline_project": "Quibusdam totam.",
  "pipelineExecutionId": "Quia aut at.",
  "pipelineStageId": "Quos nemo."
}
{
  "account": "Asperiores non aliquam excepturi quam nesciunt hic.",
  "created": 7736835980366536000,
  "metadata": {
    "pipeline": "Autem sit omnis veritatis est a.",
    "pipeline_execution_id": "Perferendis magni esse.",
    "pipeline_execution_number": "Tempora vitae explicabo ab.",
    "pipeline_name": "Cum aliquid rem sunt sunt eum assumenda.",
    "pipeline_stage_id": "Et nam et ad.",
    "trigger": {
      "Consequatur quo cupiditate sequi autem qui ratione.": "Dolor iure tempore quis.",
      "Velit totam.": "Laborum dolor qui nisi mollitia."
    }
  },
  "module_onboarding": true,
  "moduleId": "Dolorem ut aliquid reiciendis.",
  "org": "Numquam ab pariatur.",
  "project": "Recusandae voluptas hic debitis vel laborum voluptate.",
  "status": "Autem voluptas voluptatibus sed sit fugiat."
}

Create module example

post

Endpoint to upload README and Terraform source files for a single example directory of a module version

Path parameters
namestringRequired

module name

Example: Maiores et.
systemstringRequired

system name

Example: Natus consequatur quisquam qui tenetur dolorem.
versionstringRequired

version of the module

Example: Eaque dolorem sequi repudiandae distinctio nihil.
Query parameters
scope_orgstringOptional

org name

Example: Doloribus dolor odit.
scope_projectstringOptional

project name

Example: Rem impedit nemo eaque.
pathstring · min: 1 · max: 1024Required

relative path under the module root; must be "examples" or begin with "examples/" (e.g. "examples/eks-auto-mode")

Example: zu0Pattern: ^[a-zA-Z0-9_-][a-zA-Z0-9._/-]*$
Header parameters
Harness-AccountstringRequired

account name

Example: Illo ipsum voluptatem accusantium cum ea.
Content-TypestringRequired

Content-Type header (multipart/form-data with boundary)

Example: Ipsam totam delectus aut eos magni cum.
Content-Lengthinteger · int64Optional

Size in bytes of the multipart body

Example: 6384160890419196000
Responses
201

Created response.

No content

post/api/modules/{name}/{system}/{version}/examples
POST /api/modules/{name}/{system}/{version}/examples?path=zu0 HTTP/1.1
Host: localhost:80
Harness-Account: Illo ipsum voluptatem accusantium cum ea.
Content-Type: Ipsam totam delectus aut eos magni cum.
Accept: */*

No content

Create module data

post

Create a new module in the module registry

Path parameters
namestringRequired

module name

Example: Eum mollitia repellat.
systemstringRequired

system name

Example: Iure error ab ut architecto.
versionstringRequired

version of the module

Example: Nihil illum voluptas unde sapiente qui.
Query parameters
scope_orgstringOptional

org name

Example: Ut quibusdam amet aut quos.
scope_projectstringOptional

project name

Example: Consequatur dolor non quo.
Header parameters
Harness-AccountstringRequired

account name

Example: Recusandae quasi et minima qui.
Body
download_urlstringRequired

download url of the module

Example: Veritatis itaque amet neque non quae quam.
examples_pathsstring[]Optional

path of the examples relative to the module

Example: ["Reiciendis voluptas cupiditate in ea illum.","Consequatur eaque voluptas."]
git_tagstringRequired

git tag of the module

Example: Sapiente sint aliquam.
metadatastringRequired

metadata to be parsed

Example: Quis est tempore temporibus qui libero.
repo_urlstringOptional

url pointing to the repo

Example: Libero sit et velit maxime praesentium veritatis.
submodule_namestringOptional

name of the submodule been processed

Example: Corporis possimus qui odit repellendus veritatis debitis.
submodule_pathsstring[]Optional

path of the submodules relative to the module

Example: ["Praesentium earum.","Nemo animi.","Rerum explicabo exercitationem sit."]
Responses
201

Created response.

No content

post/api/modules/{name}/{system}/{version}/metadata
POST /api/modules/{name}/{system}/{version}/metadata HTTP/1.1
Host: localhost:80
Harness-Account: Recusandae quasi et minima qui.
Content-Type: application/json
Accept: */*
Content-Length: 687

{
  "download_url": "Explicabo fuga maiores sit.",
  "error": {
    "Eaque quo id ut blanditiis et.": "Cupiditate consectetur exercitationem.",
    "Molestiae qui debitis veniam sint in voluptatem.": "Et nihil veniam quaerat.",
    "Ullam asperiores voluptatibus magnam.": "Vel possimus quidem deserunt at."
  },
  "examples_paths": [
    "Incidunt eum voluptas mollitia eos.",
    "Et quia molestias sint."
  ],
  "git_tag": "Tempora repellendus alias.",
  "metadata": "Aut autem ex voluptas hic exercitationem.",
  "repo_url": "Perferendis qui atque assumenda est.",
  "submodule_name": "Praesentium iusto.",
  "submodule_paths": [
    "Quia ex id distinctio.",
    "Id culpa totam vero eveniet quis est.",
    "Ad quis ad cumque assumenda et.",
    "Voluptatem nihil."
  ]
}

No content

Create module readme

post

Endpoint to push the Readme for a given module

Path parameters
namestringRequired

module name

Example: Expedita vel blanditiis corporis ipsa.
systemstringRequired

system name

Example: Necessitatibus id sunt tenetur eos.
versionstringRequired

version of the module

Example: Non consequatur et odit rem.
Query parameters
submoduleNamestringOptional

submodule name

Example: Minima reprehenderit id quidem.
scope_orgstringOptional

org name

Example: Delectus beatae.
scope_projectstringOptional

project name

Example: Aliquam ea enim repudiandae similique laboriosam delectus.
Header parameters
Harness-AccountstringRequired

account name

Example: Sit qui provident.
Content-Lengthinteger · int64Optional

Size in bytes of the readme

Example: 6011114807441640000
Responses
201

Created response.

No content

post/api/modules/{name}/{system}/{version}/readme
POST /api/modules/{name}/{system}/{version}/readme HTTP/1.1
Host: localhost:80
Harness-Account: Sit qui provident.
Accept: */*

No content

Upload module artifact files

post

Upload module artifact to the module registry

Path parameters
namestringRequired

Module artifact name

Example: Quia tempore voluptatem quis.
systemstringRequired

Module artifact system

Example: Nemo ut omnis aliquam officia tempora sit.
versionstringRequired

version of the module

Example: Et cum qui nam.
Query parameters
scope_orgstringOptional

org name

Example: Quo et quisquam aut.
scope_projectstringOptional

project name

Example: Voluptas dolorum rerum quibusdam voluptatem.
Header parameters
Harness-AccountstringRequired

Account ID

Example: harness
Content-DispositionstringRequired

Content-Disposition header

Example: Mollitia magni inventore assumenda non.
Responses
201

Created response.

No content

post/api/modules/{name}/{system}/{version}/upload
POST /api/modules/{name}/{system}/{version}/upload HTTP/1.1
Host: localhost:80
Harness-Account: harness
Content-Disposition: Mollitia magni inventore assumenda non.
Accept: */*

No content

Create module tags

post

List all tags for a given module

Path parameters
namestring · min: 1 · max: 128Required

Human-readable name of the module. Must be unique within the same scope and system.

Example: my-vpc-module
systemstring · min: 1 · max: 128Required

Provider or system the module targets. Lowercase letters only (e.g. aws, gcp, azure, kubernetes).

Example: awsPattern: ^[a-z]+$
Query parameters
scope_orgstring · max: 1024Optional

Organization identifier where the module is scoped.

Example: my_org
scope_projectstring · max: 1024Optional

Project identifier where the module is scoped.

Example: my_project
Header parameters
Harness-Accountstring · min: 1 · max: 128Required

Harness account ID that owns the module.

Example: abc123DEFghiJKL
Body
tagsstring[]Optional

tags defining the module

Example: ["Numquam laboriosam aut.","Error qui quo occaecati qui non."]
Responses
201

Created response.

No content

post/api/modules/{name}/{system}/tags
POST /api/modules/{name}/{system}/tags HTTP/1.1
Host: localhost:80
Harness-Account: abc123DEFghiJKL
Content-Type: application/json
Accept: */*
Content-Length: 263

{
  "error": {
    "Enim occaecati nihil in molestiae.": "Rerum fugiat voluptas nihil nihil et non.",
    "Et est delectus exercitationem deleniti.": "Nihil cumque neque qui debitis."
  },
  "tags": [
    "Non labore fuga eos architecto iure quidem.",
    "Delectus ut tempore unde sequi quia."
  ]
}

No content

List connectors

get

List all connectors from the module registry for a specific account

Query parameters
orgstringOptional

organization name

Example: Blanditiis eligendi.
projectstringOptional

project name

Example: Voluptatem accusantium qui rem.
Header parameters
Harness-AccountstringRequired

account name

Example: Veniam rem sint repellat repellat provident.
Responses
200

OK response.

application/json
string[]OptionalExample: ["Molestiae voluptatibus.","Enim dolores deleniti delectus distinctio.","Et laborum in."]
get/api/modules/connectors
GET /api/modules/connectors HTTP/1.1
Host: localhost:80
Harness-Account: Veniam rem sint repellat repellat provident.
Accept: */*
[
  "Ut quam voluptas ut.",
  "Reiciendis officia.",
  "Dolores ut reiciendis."
]

Batch check module lifecycle status

post

Batch-check lifecycle status for a list of modules resolved during terraform init; only violations are returned

Header parameters
Harness-AccountstringRequired

Harness account ID

Example: Reiciendis eaque.
Body
Responses
200

OK response.

application/json
post/api/modules/lifecycle/batch-check
POST /api/modules/lifecycle/batch-check HTTP/1.1
Host: localhost:80
Harness-Account: Reiciendis eaque.
Content-Type: application/json
Accept: */*
Content-Length: 188

{
  "items": [
    {
      "name": "q",
      "namespace": "b",
      "system": "py",
      "version": "t1u"
    },
    {
      "name": "q",
      "namespace": "b",
      "system": "py",
      "version": "t1u"
    },
    {
      "name": "q",
      "namespace": "b",
      "system": "py",
      "version": "t1u"
    }
  ]
}
{
  "results": [
    {
      "action": "fail",
      "minimum_supported_version": "Aut ut modi deleniti.",
      "name": "Et nobis vel.",
      "namespace": "Quia sequi corporis.",
      "system": "Voluptatibus est deserunt aut at aliquam qui.",
      "tier": "deprecated",
      "version": "Vitae molestiae."
    },
    {
      "action": "fail",
      "minimum_supported_version": "Aut ut modi deleniti.",
      "name": "Et nobis vel.",
      "namespace": "Quia sequi corporis.",
      "system": "Voluptatibus est deserunt aut at aliquam qui.",
      "tier": "deprecated",
      "version": "Vitae molestiae."
    }
  ]
}

Create onboarding pipeline

post

Create a new onboarding pipeline for module registry

Query parameters
scope_orgstringOptional

module org name

Example: Tempore dolores.
scope_projectstringOptional

module project name

Example: Commodi beatae in alias.
Header parameters
Harness-Accountstring · min: 1 · max: 128Required

Account is the internal customer account ID.

Example: 2
Body
orgstring · min: 1 · max: 128Required

Org is the organisation identifier.

Example: qt
projectstring · min: 1 · max: 128Required

Project is the project identifier.

Example: 1
Responses
201

Created response.

No content

post/api/modules/pipeline/onboarding
POST /api/modules/pipeline/onboarding HTTP/1.1
Host: localhost:80
Harness-Account: 2
Content-Type: application/json
Accept: */*
Content-Length: 25

{
  "org": "b",
  "project": "x"
}

No content

List module providers

get

List the distinct providers (module_system values) in the module registry for a scope

Query parameters
scope_orgstringOptional

org name

Example: Est delectus voluptatum quia.
scope_projectstringOptional

project name

Example: Qui aut adipisci.
Header parameters
Harness-AccountstringRequired

account name

Example: Excepturi unde delectus aut minus.
Responses
200

OK response.

application/json
string[]OptionalExample: ["Dolores dignissimos maiores dolore.","Ex possimus facere eaque nemo nemo."]
get/api/modules/providers
GET /api/modules/providers HTTP/1.1
Host: localhost:80
Harness-Account: Excepturi unde delectus aut minus.
Accept: */*
[
  "Sit impedit quam quisquam eveniet.",
  "Rem quas harum aliquid ex ad.",
  "Est maiores eum dolores.",
  "Corrupti omnis."
]

Download module

get

Download a module given a specific version

Path parameters
namespacestringRequired

namespace of the module

Example: Voluptatem deserunt voluptatum sequi saepe sit consequatur.
namestringRequired

module name

Example: Sequi provident.
systemstringRequired

system name

Example: Id quis delectus sunt quia minima.
versionstringRequired

version of the module

Example: Sint consequuntur autem itaque.
Responses
200

OK response.

application/json
get/registry/account/{namespace}/{name}/{system}/{version}/download
GET /registry/account/{namespace}/{name}/{system}/{version}/download HTTP/1.1
Host: localhost:80
Accept: */*
{
  "location": "Aut adipisci sed."
}

Download module file tarball

get

Download a module given a specific version

Path parameters
namespacestringRequired

namespace of the module

Example: Voluptatibus accusantium dolorum amet dolores officiis.
namestringRequired

module name

Example: Doloribus et eos maiores fugit consequuntur labore.
systemstringRequired

system name

Example: Harum accusamus deserunt quidem est sint.
versionstringRequired

version of the module

Example: Amet officiis ad nihil qui alias.
Query parameters
tokenstringRequired

token for authentication

Example: Assumenda iste enim voluptatibus aut iste.
Responses
200

OK response.

application/json
string · binaryOptional
get/registry/account/{namespace}/{name}/{system}/{version}/download/file
GET /registry/account/{namespace}/{name}/{system}/{version}/download/file?token=Assumenda+iste+enim+voluptatibus+aut+iste. HTTP/1.1
Host: localhost:80
Accept: */*
binary

List module versions

get

list-module-versions returns an array of versions for a given module

Path parameters
namespacestringRequired

namespace of the module

Example: Voluptates illum cum.
namestringRequired

module name

Example: Alias excepturi.
systemstringRequired

system name

Example: Id quis repellendus illum non et libero.
Responses
200

OK response.

application/json
get/registry/account/{namespace}/{name}/{system}/versions
GET /registry/account/{namespace}/{name}/{system}/versions HTTP/1.1
Host: localhost:80
Accept: */*
{
  "modules": [
    {
      "versions": [
        {
          "git_version": "Voluptatem earum eum.",
          "module_version": "Aut non inventore mollitia aliquid."
        },
        {
          "git_version": "Voluptatem earum eum.",
          "module_version": "Aut non inventore mollitia aliquid."
        },
        {
          "git_version": "Voluptatem earum eum.",
          "module_version": "Aut non inventore mollitia aliquid."
        }
      ]
    },
    {
      "versions": [
        {
          "git_version": "Voluptatem earum eum.",
          "module_version": "Aut non inventore mollitia aliquid."
        },
        {
          "git_version": "Voluptatem earum eum.",
          "module_version": "Aut non inventore mollitia aliquid."
        },
        {
          "git_version": "Voluptatem earum eum.",
          "module_version": "Aut non inventore mollitia aliquid."
        }
      ]
    },
    {
      "versions": [
        {
          "git_version": "Voluptatem earum eum.",
          "module_version": "Aut non inventore mollitia aliquid."
        },
        {
          "git_version": "Voluptatem earum eum.",
          "module_version": "Aut non inventore mollitia aliquid."
        },
        {
          "git_version": "Voluptatem earum eum.",
          "module_version": "Aut non inventore mollitia aliquid."
        }
      ]
    },
    {
      "versions": [
        {
          "git_version": "Voluptatem earum eum.",
          "module_version": "Aut non inventore mollitia aliquid."
        },
        {
          "git_version": "Voluptatem earum eum.",
          "module_version": "Aut non inventore mollitia aliquid."
        },
        {
          "git_version": "Voluptatem earum eum.",
          "module_version": "Aut non inventore mollitia aliquid."
        }
      ]
    }
  ]
}

Last updated

Was this helpful?