# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Harness Variables API version: 1.0.0 extends: openapi/harness-variables-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 12 - target: $.paths['/ng/api/variables'].get update: x-apievangelist-phrasing: intent: List platform variables in a scope effect: read questions: - What account, org or project variables have we defined in Harness? - Can I include variables from every sub-scope when listing them? instructions: - text: List the platform variables in project {projectIdentifier}. slots: projectIdentifier: query.projectIdentifier - text: Search platform variables for {searchTerm}, including those from every sub-scope. slots: searchTerm: query.searchTerm method: generated generated: '2026-09-26' - target: $.paths['/ng/api/variables'].put update: x-apievangelist-phrasing: intent: Update a platform variable effect: write questions: - How do I change the value of an existing platform variable? - Can I edit a variable's type or description after it's created? instructions: - text: 'Update the platform variable with these details: {variable}.' slots: variable: requestBody.variable - text: Save the edited platform variable definition {variable}. slots: variable: requestBody.variable method: generated generated: '2026-09-26' - target: $.paths['/ng/api/variables'].post update: x-apievangelist-phrasing: intent: Create a platform variable effect: write questions: - Can I define a reusable variable at the account or project level? - What goes into creating a new platform variable? instructions: - text: 'Create a new platform variable: {variable}.' slots: variable: requestBody.variable - text: Add platform variable {variable} so pipelines can reference it. slots: variable: requestBody.variable method: generated generated: '2026-09-26' - target: $.paths['/ng/api/variables/{identifier}'].get update: x-apievangelist-phrasing: intent: Get a platform variable by identifier effect: read questions: - Where can I look up one platform variable's value and type? - Which scope does a given platform variable live in? instructions: - text: Get the platform variable {identifier}. slots: identifier: path.identifier - text: Show variable {identifier} in project {projectIdentifier}. slots: identifier: path.identifier projectIdentifier: query.projectIdentifier method: generated generated: '2026-09-26' - target: $.paths['/ng/api/variables/{identifier}'].delete update: x-apievangelist-phrasing: intent: Delete a platform variable effect: destructive questions: - Is it possible to delete a platform variable we no longer use? - What happens to a scoped variable when I remove it? instructions: - text: Delete the platform variable {identifier}. slots: identifier: path.identifier - text: Remove variable {identifier} from org {orgIdentifier}. slots: identifier: path.identifier orgIdentifier: query.orgIdentifier method: generated generated: '2026-09-26' - target: $.paths['/ng/api/variables/list'].post update: x-apievangelist-phrasing: intent: Fetch several platform variables by identifier effect: read questions: - Can I look up a specific set of platform variables in one call by their identifiers? - Which of these named variables exist in my project? instructions: - text: Fetch the platform variables with identifiers {identifiers}. slots: identifiers: requestBody.identifiers - text: Get variables {identifiers} from project {projectIdentifier}. slots: identifiers: requestBody.identifiers projectIdentifier: query.projectIdentifier method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables'].get update: x-apievangelist-phrasing: intent: List variables on an IaC workspace effect: read questions: - What Terraform and environment variables are set on an infrastructure workspace? - Which variables does my IaCM workspace pass to its runs? instructions: - text: List the variables on workspace {workspace} in project {project} of org {org}. slots: workspace: path.workspace project: path.project org: path.org - text: Show workspace {workspace}'s variables under {org}/{project}. slots: workspace: path.workspace org: path.org project: path.project method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables'].post update: x-apievangelist-phrasing: intent: Add a variable to an IaC workspace effect: write questions: - How do I add a Terraform variable to an infrastructure workspace? - Can a workspace variable be an environment variable instead of a Terraform input? instructions: - text: Add {kind} variable {key} = {value} of type {value_type} to workspace {workspace} in {org}/{project}. slots: kind: requestBody.kind key: requestBody.key value: requestBody.value value_type: requestBody.value_type workspace: path.workspace org: path.org project: path.project - text: Create workspace variable {key} with value {value} ({value_type}, {kind}) on {workspace}. slots: key: requestBody.key value: requestBody.value value_type: requestBody.value_type kind: requestBody.kind workspace: path.workspace method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables/{kind}/{key}'].get update: x-apievangelist-phrasing: intent: Show one IaC workspace variable effect: read questions: - What value is a particular variable set to on my workspace? - Is this workspace variable a secret or plain text? instructions: - text: Show the {kind} variable {key} on workspace {workspace} in {org}/{project}. slots: kind: path.kind key: path.key workspace: path.workspace org: path.org project: path.project - text: Get workspace {workspace}'s {kind} variable named {key}. slots: workspace: path.workspace kind: path.kind key: path.key method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables/{kind}/{key}'].put update: x-apievangelist-phrasing: intent: Change an IaC workspace variable's value effect: write questions: - How can I change a variable's value on an existing infrastructure workspace? - Can I switch a workspace variable from plain text to secret? instructions: - text: Set {kind} variable {key} on workspace {workspace} in {org}/{project} to {value} as {value_type}. slots: kind: path.kind key: path.key workspace: path.workspace org: path.org project: path.project value: requestBody.value value_type: requestBody.value_type - text: Update workspace {workspace} {kind} variable {key} to value {value}. slots: workspace: path.workspace kind: path.kind key: path.key value: requestBody.value method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables/{kind}/{key}'].delete update: x-apievangelist-phrasing: intent: Delete a variable from an IaC workspace effect: destructive questions: - Can I remove a variable from an infrastructure workspace? - Will deleting a workspace variable affect the next plan or apply? instructions: - text: Delete the {kind} variable {key} from workspace {workspace} in {org}/{project}. slots: kind: path.kind key: path.key workspace: path.workspace org: path.org project: path.project - text: Remove variable {key} ({kind}) from workspace {workspace}. slots: key: path.key kind: path.kind workspace: path.workspace method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables/merged'].get update: x-apievangelist-phrasing: intent: Get a workspace's merged variables and connectors effect: read questions: - What is the full effective set of variables, variable files and provider connectors on a workspace? - Which provider connectors and var files does my workspace run with? instructions: - text: Show the merged variables, provider connectors and variable files for workspace {workspace} in {org}/{project}. slots: workspace: path.workspace org: path.org project: path.project - text: 'Give me everything workspace {workspace} will run with: variables, var files and connectors.' slots: workspace: path.workspace method: generated generated: '2026-09-26'