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

Settings

Settings service handles all API endpoints related to configuration settings

List default pipelines

get

List all associations between provisioner operations and default pipelines

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

Org is the organisation identifier.

Example: 6ib
projectstring · min: 1 · max: 128Required

Project is the project identifier.

Example: oar
Query parameters
workspacestringOptional

Workspace identifier

Default: ""Example: workspace123
Header parameters
Harness-Accountstring · min: 1 · max: 128Required

Account is the internal customer account ID.

Example: t
Responses
200

OK response.

application/json
accountstringRequiredExample: Ducimus perferendis repellat pariatur cupiditate.
operationstring · enumRequired

The default pipeline is associated with this operation

Example: planPossible values:
orgstringRequiredExample: Odio perspiciatis aspernatur tempora tenetur quas suscipit.
pipelinestringRequired

The default pipeline associated with the provisioner operation

Example: testpipeline
projectstringRequiredExample: Omnis dolores quasi repudiandae voluptas.
provisionerstring · enumRequired

The default pipeline is associated with this provisioner

Example: opentofuPossible values:
updatedinteger · int64Required

Time the default pipeline was last updated

Example: 1636669297674
workspacestringOptional

The default pipeline is associated with this workspace if specified

Default: ""Example: plan
get/api/orgs/{org}/projects/{project}/settings/default-pipelines
GET /api/orgs/{org}/projects/{project}/settings/default-pipelines HTTP/1.1
Host: localhost:80
Harness-Account: t
Accept: */*
[
  {
    "account": "Voluptates doloribus.",
    "operation": "plan",
    "org": "Exercitationem esse necessitatibus dolore.",
    "pipeline": "testpipeline",
    "project": "Est non placeat sunt rerum dicta delectus.",
    "provisioner": "opentofu",
    "updated": 1636669297674,
    "workspace": "plan"
  },
  {
    "account": "Voluptates doloribus.",
    "operation": "plan",
    "org": "Exercitationem esse necessitatibus dolore.",
    "pipeline": "testpipeline",
    "project": "Est non placeat sunt rerum dicta delectus.",
    "provisioner": "opentofu",
    "updated": 1636669297674,
    "workspace": "plan"
  }
]

Upsert default pipeline

put

Associate a default pipeline with a provisioner operation

Path parameters
orgstringRequiredExample: Minus occaecati.
projectstringRequiredExample: Optio quidem provident.
Header parameters
Harness-AccountstringRequiredExample: Officiis rerum voluptatum earum vero aut.
Body
operationstring · enumRequired

The default pipeline is associated with this operation

Example: planPossible values:
pipelinestringRequired

The default pipeline associated with the provisioner operation

Example: testpipeline
provisionerstring · enumRequired

The default pipeline is associated with this provisioner

Example: opentofuPossible values:
updatedinteger · int64Required

Time the default pipeline was last updated

Example: 1636669297674
workspacestringOptional

The default pipeline is associated with this workspace if specified

Default: ""Example: plan
Responses
200

OK response.

No content

put/api/orgs/{org}/projects/{project}/settings/default-pipelines
PUT /api/orgs/{org}/projects/{project}/settings/default-pipelines HTTP/1.1
Host: localhost:80
Harness-Account: Officiis rerum voluptatum earum vero aut.
Content-Type: application/json
Accept: */*
Content-Length: 114

{
  "operation": "plan",
  "pipeline": "testpipeline",
  "provisioner": "opentofu",
  "updated": 1636669297674,
  "workspace": "plan"
}

No content

Delete default pipeline

delete

Delete the association between a default pipeline and a provisioner operation

Path parameters
orgstringRequiredExample: Quidem fuga.
projectstringRequiredExample: Illo quidem animi laudantium id.
Header parameters
Harness-AccountstringRequiredExample: Dicta laudantium amet.
Body
operationstring · enumRequired

The default pipeline is associated with this operation

Example: planPossible values:
provisionerstring · enumRequired

The default pipeline is associated with this provisioner

Example: opentofuPossible values:
workspacestringOptional

The default pipeline is associated with this workspace if specified

Default: ""Example: plan
Responses
200

OK response.

No content

delete/api/orgs/{org}/projects/{project}/settings/default-pipelines
DELETE /api/orgs/{org}/projects/{project}/settings/default-pipelines HTTP/1.1
Host: localhost:80
Harness-Account: Dicta laudantium amet.
Content-Type: application/json
Accept: */*
Content-Length: 64

{
  "operation": "plan",
  "provisioner": "opentofu",
  "workspace": "plan"
}

No content

Check push data

get

Check if the plan/state should be sent to the server

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

Org is the organisation identifier.

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

Project is the project identifier.

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

Account is the internal customer account ID.

Example: ui
Responses
200

OK response.

application/json
disabledbooleanRequired

Indicates if the data is allowed to be pushed

Example: true
get/api/orgs/{org}/projects/{project}/settings/disabled
GET /api/orgs/{org}/projects/{project}/settings/disabled HTTP/1.1
Host: localhost:80
Harness-Account: ui
Accept: */*
{
  "disabled": true
}

Get project-level drift automation status for a provisioner

get

Returns whether drift automation is currently enabled at the project level for the given provisioner, along with its pipeline_id and schedule.

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

Org is the organisation identifier.

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

Project is the project identifier.

Example: rd
Query parameters
provisionerstring · enumRequired

Provisioner type to query drift status for

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

Account is the internal customer account ID.

Example: 9
Responses
200

OK response.

application/json
enabledbooleanRequired

Whether project-level drift automation is currently enabled for this provisioner

Example: true
pipeline_idstringOptional

Pipeline configured to run for drift detection

Example: Itaque nulla officiis ullam id quibusdam qui.
provisionerstringRequired

Provisioner this configuration applies to

Example: Et minima sit a blanditiis.
run_everyinteger · int64Optional

Repeat interval; set when drift is enabled

Example: 1438936088597131000
run_every_unitstring · enumOptional

hours or days

Example: minutesPossible values:
get/api/orgs/{org}/projects/{project}/settings/drift-config
GET /api/orgs/{org}/projects/{project}/settings/drift-config?provisioner=terraform HTTP/1.1
Host: localhost:80
Harness-Account: 9
Accept: */*
{
  "enabled": true,
  "pipeline_id": "Consequatur non.",
  "provisioner": "Qui dignissimos molestiae repudiandae nihil voluptatem.",
  "run_every": 6716946200765848000,
  "run_every_unit": "days"
}

Enable drift automation for all workspaces in a project

put

Enqueues a background job that creates drift triggers for every workspace in the project.

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

Org is the organisation identifier.

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

Project is the project identifier.

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

Account is the internal customer account ID.

Example: h3h
Body
pipeline_idstringRequired

Pipeline to run for drift detection

Example: Excepturi dolore aspernatur.
provisionerstring · enumRequired

Provisioner type to enable drift for

Example: terragruntPossible values:
run_everyinteger · int64Required

Run drift detection every N hours or N days (see run_every_unit)

Example: 4606819830551244300
run_every_unitstring · enumRequired

hours or days

Example: minutesPossible values:
Responses
202

Accepted response.

application/json
job_idinteger · int64Required

Background job identifier

Example: 3403919615542570500
statusstringRequired

Outcome message

Example: Non eos magnam.
put/api/orgs/{org}/projects/{project}/settings/drift-config
PUT /api/orgs/{org}/projects/{project}/settings/drift-config HTTP/1.1
Host: localhost:80
Harness-Account: h3h
Content-Type: application/json
Accept: */*
Content-Length: 115

{
  "pipeline_id": "Temporibus sed.",
  "provisioner": "terraform",
  "run_every": 5293256734117459000,
  "run_every_unit": "days"
}
{
  "job_id": 3478933247816263000,
  "status": "Commodi qui explicabo."
}

Disable drift automation for all workspaces in a project

delete

Enqueues a background job that removes drift triggers for every workspace in the project.

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

Org is the organisation identifier.

Example: 4yt
projectstring · min: 1 · max: 128Required

Project is the project identifier.

Example: 6d
Query parameters
provisionerstring · enumRequired

Provisioner type to disable drift for

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

Account is the internal customer account ID.

Example: fk
Responses
202

Accepted response.

application/json
job_idinteger · int64Required

Background job identifier

Example: 6083607506107725000
statusstringRequired

Outcome message

Example: Officia aperiam qui.
delete/api/orgs/{org}/projects/{project}/settings/drift-config
DELETE /api/orgs/{org}/projects/{project}/settings/drift-config?provisioner=opentofu HTTP/1.1
Host: localhost:80
Harness-Account: fk
Accept: */*
{
  "job_id": 3184801884629001700,
  "status": "Eligendi perspiciatis dolorum quas."
}

Get project-level ephemeral configuration for a provisioner

get

Returns whether ephemeral automation is currently enabled at the project level for the given provisioner, along with its raw schedule fields (ttl, destroy_on_date, delete_*) so the UI can re-render previously saved values.

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

Org is the organisation identifier.

Example: 5d
projectstring · min: 1 · max: 128Required

Project is the project identifier.

Example: s
Query parameters
provisionerstring · enumRequired

Provisioner type to query ephemeral status for

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

Account is the internal customer account ID.

Example: lki
Responses
200

OK response.

application/json
delete_delay_unitstring · enumOptional

Configured delete delay unit (hours or days)

Example: secondsPossible values:
delete_delay_valueinteger · int64Optional

Configured delete delay value (when delete_workspace is true)

Example: 5870461623206694000
delete_on_datestringOptional

Configured delete date (YYYY-MM-DD) when schedule uses a specific date

Example: Deserunt quis iure est.
delete_workspacebooleanOptional

Whether workspace records will be deleted after destroy

Example: true
destroy_on_datestringOptional

Configured destroy date (YYYY-MM-DD) when schedule uses a specific date

Example: Occaecati nobis facere facilis id modi labore.
enabledbooleanRequired

Whether project-level ephemeral automation is currently enabled for this provisioner

Example: false
pipeline_idstringOptional

Pipeline configured for destroying infrastructure

Example: Pariatur nulla quis voluptatum qui animi consequuntur.
provisionerstringRequired

Provisioner this configuration applies to

Example: Maiores aut eum dolor.
ttl_unitstring · enumOptional

Configured destroy delay unit (hours or days)

Example: secondsPossible values:
ttl_valueinteger · int64Optional

Configured destroy delay value (when schedule uses delay)

Example: 6998077204656872000
get/api/orgs/{org}/projects/{project}/settings/ephemeral-config
GET /api/orgs/{org}/projects/{project}/settings/ephemeral-config?provisioner=terragrunt HTTP/1.1
Host: localhost:80
Harness-Account: lki
Accept: */*
{
  "delete_delay_unit": "hours",
  "delete_delay_value": 2141295230789673500,
  "delete_on_date": "Porro error veritatis eum.",
  "delete_workspace": false,
  "destroy_on_date": "Adipisci veniam et enim voluptate ea.",
  "enabled": true,
  "pipeline_id": "Voluptas et voluptas neque.",
  "provisioner": "Itaque excepturi voluptate suscipit neque aliquid.",
  "ttl_unit": "minutes",
  "ttl_value": 9206609801502489000
}

Enable ephemeral TTL for all workspaces in a project

put

Enqueues a background job that configures ephemeral destroy/delete schedules for every workspace in the project.

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

Org is the organisation identifier.

Example: 2ay
projectstring · min: 1 · max: 128Required

Project is the project identifier.

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

Account is the internal customer account ID.

Example: ng
Body
delete_delay_unitstring · enumOptional

Unit for delete delay

Example: hoursPossible values:
delete_delay_valueinteger · int64Optional

Delete workspace after N hours or days from now

Example: 2328084587795391000
delete_on_datestringOptional

Specific date to delete workspace (ISO 8601 format, e.g. 2026-09-02)

Example: Voluptatem vel saepe.
delete_workspacebooleanOptional

Whether to delete the workspace record after infrastructure is destroyed

Example: true
destroy_delay_unitstring · enumOptional

Unit for destroy delay

Example: daysPossible values:
destroy_delay_valueinteger · int64Optional

Destroy infrastructure after N hours or days from now

Example: 2774248095573095400
destroy_on_datestringOptional

Specific date to destroy infrastructure (ISO 8601 format, e.g. 2026-08-24)

Example: Consequatur vel qui non.
pipeline_idstringRequired

Pipeline to run for destroying infrastructure

Example: At a amet vel quae sunt dolores.
provisionerstring · enumRequired

Provisioner type to enable ephemeral for

Example: opentofuPossible values:
Responses
202

Accepted response.

application/json
job_idinteger · int64Required

Background job identifier

Example: 6393190925054838000
statusstringRequired

Outcome message

Example: Illo voluptatem laborum sit.
put/api/orgs/{org}/projects/{project}/settings/ephemeral-config
PUT /api/orgs/{org}/projects/{project}/settings/ephemeral-config HTTP/1.1
Host: localhost:80
Harness-Account: ng
Content-Type: application/json
Accept: */*
Content-Length: 358

{
  "delete_delay_unit": "hours",
  "delete_delay_value": 7986686849923762000,
  "delete_on_date": "Quaerat reprehenderit sint necessitatibus rem.",
  "delete_workspace": false,
  "destroy_delay_unit": "days",
  "destroy_delay_value": 4658167729060533000,
  "destroy_on_date": "Qui reprehenderit vitae est ut animi dolor.",
  "pipeline_id": "Qui rerum assumenda.",
  "provisioner": "terraform"
}
{
  "job_id": 168189450200981500,
  "status": "Voluptatem velit impedit reiciendis similique."
}

Disable ephemeral TTL for all workspaces in a project

delete

Enqueues a background job that removes ephemeral schedules for every workspace in the project.

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

Org is the organisation identifier.

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

Project is the project identifier.

Example: gs
Query parameters
provisionerstring · enumRequired

Provisioner type to disable ephemeral for

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

Account is the internal customer account ID.

Example: wl
Responses
202

Accepted response.

application/json
job_idinteger · int64Required

Background job identifier

Example: 8347177171536358000
statusstringRequired

Outcome message

Example: Enim cupiditate.
delete/api/orgs/{org}/projects/{project}/settings/ephemeral-config
DELETE /api/orgs/{org}/projects/{project}/settings/ephemeral-config?provisioner=opentofu HTTP/1.1
Host: localhost:80
Harness-Account: wl
Accept: */*
{
  "job_id": 4362619443617738000,
  "status": "Non aliquid facere voluptatem amet eaque aut."
}

Last updated

Was this helpful?