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: mq
projectstring · min: 1 · max: 128Required

Project is the project identifier.

Example: d
Query parameters
workspacestringOptional

Workspace identifier

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

Account is the internal customer account ID.

Example: d6
Responses
200

OK response.

application/json
accountstringRequiredExample: Inventore totam.
operationstring · enumRequired

The default pipeline is associated with this operation

Example: planPossible values:
orgstringRequiredExample: Facere ad eos velit quos odio.
pipelinestringRequired

The default pipeline associated with the provisioner operation

Example: testpipeline
projectstringRequiredExample: Veniam est voluptates sint harum.
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: d6
Accept: */*
[
  {
    "account": "Omnis reprehenderit quod.",
    "operation": "plan",
    "org": "Voluptates doloribus.",
    "pipeline": "testpipeline",
    "project": "Exercitationem esse necessitatibus dolore.",
    "provisioner": "opentofu",
    "updated": 1636669297674,
    "workspace": "plan"
  },
  {
    "account": "Omnis reprehenderit quod.",
    "operation": "plan",
    "org": "Voluptates doloribus.",
    "pipeline": "testpipeline",
    "project": "Exercitationem esse necessitatibus dolore.",
    "provisioner": "opentofu",
    "updated": 1636669297674,
    "workspace": "plan"
  },
  {
    "account": "Omnis reprehenderit quod.",
    "operation": "plan",
    "org": "Voluptates doloribus.",
    "pipeline": "testpipeline",
    "project": "Exercitationem esse necessitatibus dolore.",
    "provisioner": "opentofu",
    "updated": 1636669297674,
    "workspace": "plan"
  }
]

Upsert default pipeline

put

Associate a default pipeline with a provisioner operation

Path parameters
orgstringRequiredExample: Qui ipsum dicta.
projectstringRequiredExample: Quis autem dolorem qui autem.
Header parameters
Harness-AccountstringRequiredExample: Omnis nihil.
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: Omnis nihil.
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: Quod dolorem.
projectstringRequiredExample: Et fuga dolorum.
Header parameters
Harness-AccountstringRequiredExample: Distinctio dolorem ad.
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: Distinctio dolorem ad.
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: z
projectstring · min: 1 · max: 128Required

Project is the project identifier.

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

Account is the internal customer account ID.

Example: 9cn
Responses
200

OK response.

application/json
disabledbooleanRequired

Indicates if the data is allowed to be pushed

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

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: 33n
projectstring · min: 1 · max: 128Required

Project is the project identifier.

Example: taa
Query parameters
provisionerstring · enumRequired

Provisioner type to query drift status for

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

Account is the internal customer account ID.

Example: iq
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: Doloremque veniam aut.
provisionerstringRequired

Provisioner this configuration applies to

Example: Et temporibus minus eveniet.
run_everyinteger · int64Optional

Repeat interval; set when drift is enabled

Example: 8736866272377335000
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=awscdk HTTP/1.1
Host: localhost:80
Harness-Account: iq
Accept: */*
{
  "enabled": true,
  "pipeline_id": "Laborum aperiam sit tempore vel.",
  "provisioner": "Fugiat aut molestiae.",
  "run_every": 4973036924191679000,
  "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: q
projectstring · min: 1 · max: 128Required

Project is the project identifier.

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

Account is the internal customer account ID.

Example: 5x
Body
pipeline_idstringRequired

Pipeline to run for drift detection

Example: Perspiciatis adipisci eligendi.
provisionerstring · enumRequired

Provisioner type to enable drift for

Example: opentofuPossible values:
run_everyinteger · int64Required

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

Example: 6654659952170553000
run_every_unitstring · enumRequired

hours or days

Example: daysPossible values:
Responses
202

Accepted response.

application/json
job_idinteger · int64Required

Background job identifier

Example: 2449842964449673700
statusstringRequired

Outcome message

Example: Placeat architecto.
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: 5x
Content-Type: application/json
Accept: */*
Content-Length: 112

{
  "pipeline_id": "Pariatur et.",
  "provisioner": "opentofu",
  "run_every": 7012829059451903000,
  "run_every_unit": "hours"
}
{
  "job_id": 7697297724675313000,
  "status": "Ut sit consequuntur velit."
}

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: jnw
projectstring · min: 1 · max: 128Required

Project is the project identifier.

Example: xl2
Query parameters
provisionerstring · enumRequired

Provisioner type to disable drift for

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

Account is the internal customer account ID.

Example: crl
Responses
202

Accepted response.

application/json
job_idinteger · int64Required

Background job identifier

Example: 8833192178183636000
statusstringRequired

Outcome message

Example: Voluptatum corrupti dolore exercitationem.
delete/api/orgs/{org}/projects/{project}/settings/drift-config
DELETE /api/orgs/{org}/projects/{project}/settings/drift-config?provisioner=terraform HTTP/1.1
Host: localhost:80
Harness-Account: crl
Accept: */*
{
  "job_id": 6363698734791067000,
  "status": "Adipisci vel sed quod magni repudiandae doloremque."
}

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: rb
projectstring · min: 1 · max: 128Required

Project is the project identifier.

Example: c5p
Query parameters
provisionerstring · enumRequired

Provisioner type to query ephemeral status for

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

Account is the internal customer account ID.

Example: 8
Responses
200

OK response.

application/json
delete_delay_unitstring · enumOptional

Configured delete delay unit (hours or days)

Example: hoursPossible values:
delete_delay_valueinteger · int64Optional

Configured delete delay value (when delete_workspace is true)

Example: 3133237751315785000
delete_on_datestringOptional

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

Example: Perspiciatis libero voluptatem iure possimus.
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: Voluptas illo.
enabledbooleanRequired

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

Example: false
pipeline_idstringOptional

Pipeline configured for destroying infrastructure

Example: Qui neque velit.
provisionerstringRequired

Provisioner this configuration applies to

Example: Repellendus numquam quis ut.
ttl_unitstring · enumOptional

Configured destroy delay unit (hours or days)

Example: minutesPossible values:
ttl_valueinteger · int64Optional

Configured destroy delay value (when schedule uses delay)

Example: 6886011843161814000
get/api/orgs/{org}/projects/{project}/settings/ephemeral-config
GET /api/orgs/{org}/projects/{project}/settings/ephemeral-config?provisioner=opentofu HTTP/1.1
Host: localhost:80
Harness-Account: 8
Accept: */*
{
  "delete_delay_unit": "days",
  "delete_delay_value": 6264833924249411000,
  "delete_on_date": "Molestias autem omnis quisquam.",
  "delete_workspace": true,
  "destroy_on_date": "Sequi voluptates facere dolorem quibusdam autem porro.",
  "enabled": false,
  "pipeline_id": "Nulla voluptas voluptas accusamus nisi numquam debitis.",
  "provisioner": "Minima aspernatur voluptas earum non et.",
  "ttl_unit": "minutes",
  "ttl_value": 2134775945130299100
}

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: h
projectstring · min: 1 · max: 128Required

Project is the project identifier.

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

Account is the internal customer account ID.

Example: xc
Body
delete_delay_unitstring · enumOptional

Unit for delete delay

Example: secondsPossible values:
delete_delay_valueinteger · int64Optional

Delete workspace after N hours or days from now

Example: 4770736883794587000
delete_on_datestringOptional

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

Example: Cumque similique.
delete_workspacebooleanOptional

Whether to delete the workspace record after infrastructure is destroyed

Example: true
destroy_delay_unitstring · enumOptional

Unit for destroy delay

Example: minutesPossible values:
destroy_delay_valueinteger · int64Optional

Destroy infrastructure after N hours or days from now

Example: 2858826856851608000
destroy_on_datestringOptional

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

Example: Ab velit omnis consequuntur.
pipeline_idstringRequired

Pipeline to run for destroying infrastructure

Example: Ea est autem.
provisionerstring · enumRequired

Provisioner type to enable ephemeral for

Example: awscdkPossible values:
Responses
202

Accepted response.

application/json
job_idinteger · int64Required

Background job identifier

Example: 1106280218811665200
statusstringRequired

Outcome message

Example: Fuga nemo soluta natus.
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: xc
Content-Type: application/json
Accept: */*
Content-Length: 328

{
  "delete_delay_unit": "minutes",
  "delete_delay_value": 8048132852189697000,
  "delete_on_date": "Et enim voluptate.",
  "delete_workspace": false,
  "destroy_delay_unit": "days",
  "destroy_delay_value": 7027247976697816000,
  "destroy_on_date": "Et voluptas neque in.",
  "pipeline_id": "Amet itaque excepturi voluptate suscipit.",
  "provisioner": "awscdk"
}
{
  "job_id": 2157604926072768500,
  "status": "Eum sunt ipsam placeat quis."
}

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: 8u
projectstring · min: 1 · max: 128Required

Project is the project identifier.

Example: m
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: 8m6
Responses
202

Accepted response.

application/json
job_idinteger · int64Required

Background job identifier

Example: 4107721230316832300
statusstringRequired

Outcome message

Example: Enim optio commodi odio facilis.
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: 8m6
Accept: */*
{
  "job_id": 365013782402060600,
  "status": "Qui temporibus."
}

Last updated

Was this helpful?