# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Harness Workspaces API version: 1.0.0 extends: openapi/harness-workspaces-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: 41 - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/tags'].get update: x-apievangelist-phrasing: intent: List tags used across workspaces in a project effect: read questions: - Which tags are applied to the infrastructure workspaces in my project? - Can I see every workspace tag in use before I filter workspaces by tag? instructions: - text: List all workspace tags in project {project} of org {org}. slots: project: path.project org: path.org - text: Show me the distinct tags my IaCM workspaces use in {project}. slots: project: path.project method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspace-metrics'].get update: x-apievangelist-phrasing: intent: Show workspace metrics for a project effect: read questions: - What metrics does Harness IaCM report for the workspaces in a project? - Can I get workspace metrics for a specific time window? instructions: - text: Show workspace metrics for project {project} in org {org}. slots: project: path.project org: path.org - text: Get workspace metrics for {project} between {start_time} and {end_time}. slots: project: path.project start_time: query.start_time end_time: query.end_time method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces'].get update: x-apievangelist-phrasing: intent: List infrastructure workspaces in a project effect: read questions: - How do I list all the IaCM workspaces in a project? - Can I filter my workspaces by status or tag? - Is there a way to search workspaces by name and sort the results? instructions: - text: List the workspaces in project {project} of org {org}. slots: project: path.project org: path.org - text: Find workspaces in {project} matching {searchTerm}. slots: project: path.project searchTerm: query.searchTerm - text: List workspaces in {project} with status {status}. slots: project: path.project status: query.status method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces'].post update: x-apievangelist-phrasing: intent: Create an infrastructure workspace effect: write questions: - How do I create a new Terraform or OpenTofu workspace in Harness IaCM? - What do I need to provide to set up a workspace, like provisioner and provider connector? - Can I point a new workspace at a Git repository and branch? instructions: - text: Create workspace {name} with identifier {identifier} in project {project} of org {org}. slots: name: requestBody.name identifier: requestBody.identifier project: path.project org: path.org - text: Set up a new {provisioner} workspace {name} using provider connector {provider_connector}. slots: provisioner: requestBody.provisioner name: requestBody.name provider_connector: requestBody.provider_connector - text: Create a workspace {name} that reads code from {repository} on branch {repository_branch}. slots: name: requestBody.name repository: requestBody.repository repository_branch: requestBody.repository_branch method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{identifier}'].get update: x-apievangelist-phrasing: intent: Show one workspace's details effect: read questions: - How do I look up the configuration of a single IaCM workspace? - What provisioner and repository is a given workspace configured with? instructions: - text: Show workspace {identifier} in project {project} of org {org}. slots: identifier: path.identifier project: path.project org: path.org - text: Get the details of workspace {identifier}. slots: identifier: path.identifier method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{identifier}'].put update: x-apievangelist-phrasing: intent: Update an existing workspace's settings effect: write questions: - How do I change the repository branch or provisioner version on an existing workspace? - Can I turn on cost estimation for a workspace I already created? instructions: - text: Update workspace {identifier} in project {project} of org {org} with the new settings. slots: identifier: path.identifier project: path.project org: path.org - text: Point existing workspace {identifier} at branch {repository_branch}. slots: identifier: path.identifier repository_branch: requestBody.repository_branch - text: Change the provisioner version of workspace {identifier} to {provisioner_version}. slots: identifier: path.identifier provisioner_version: requestBody.provisioner_version method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{identifier}'].delete update: x-apievangelist-phrasing: intent: Delete a workspace effect: destructive questions: - How do I delete an IaCM workspace I no longer need? - Can I remove a workspace entirely from a project? instructions: - text: Delete workspace {identifier} from project {project} in org {org}. slots: identifier: path.identifier project: path.project org: path.org - text: Remove the workspace {identifier} permanently. slots: identifier: path.identifier method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{identifier}/actions/force-unlock'].post update: x-apievangelist-phrasing: intent: Force-unlock a locked workspace effect: write questions: - How do I clear a stuck lock on a workspace, even one set automatically? - Is it safe to call unlock on a workspace that is not locked? instructions: - text: Force unlock workspace {identifier} in project {project} of org {org}. slots: identifier: path.identifier project: path.project org: path.org - text: Remove whatever lock is on workspace {identifier}. slots: identifier: path.identifier method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{identifier}/actions/lock'].post update: x-apievangelist-phrasing: intent: Place a manual lock on a workspace effect: write questions: - How do I lock a workspace so nobody runs changes against it? - Can I record a reason when I manually lock a workspace? instructions: - text: Lock workspace {identifier} in project {project} of org {org}. slots: identifier: path.identifier project: path.project org: path.org - text: Put a manual lock on workspace {identifier} with reason {reason}. slots: identifier: path.identifier reason: requestBody.reason method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{identifier}/modules'].get update: x-apievangelist-phrasing: intent: List modules used by a workspace effect: read questions: - Which Terraform modules does a particular workspace use? - Can I see the modules associated with one workspace? instructions: - text: List the modules associated with workspace {identifier} in project {project} of org {org}. slots: identifier: path.identifier project: path.project org: path.org - text: Show which modules workspace {identifier} depends on. slots: identifier: path.identifier method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{identifier}/resources'].get update: x-apievangelist-phrasing: intent: List resources managed by a workspace effect: read questions: - What cloud resources does a workspace currently manage? - Can I filter a workspace's resources by resource type and page through them? instructions: - text: List the resources managed by workspace {identifier} in project {project} of org {org}. slots: identifier: path.identifier project: path.project org: path.org - text: List resources of type {resource_types} in workspace {identifier}. slots: resource_types: query.resource_types identifier: path.identifier method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{identifier}/resources/search'].post update: x-apievangelist-phrasing: intent: Search a workspace's resources using selectors effect: read questions: - Can I query a workspace's resources with selectors instead of just listing them all? - What happens if I search workspace resources without a page or limit? instructions: - text: Search resources in workspace {identifier} of project {project} in org {org} using selectors {selectors}. slots: identifier: path.identifier project: path.project org: path.org selectors: requestBody.selectors - text: Find resources in workspace {identifier} that match selectors {selectors}, {limit} per page. slots: identifier: path.identifier selectors: requestBody.selectors limit: requestBody.limit method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/clone'].post update: x-apievangelist-phrasing: intent: Clone a workspace under a new name effect: write questions: - How do I copy an existing workspace to make a new one? - Can I duplicate a workspace and give the copy its own identifier? instructions: - text: Clone workspace {workspace} in project {project} of org {org} as {name} with identifier {identifier}. slots: workspace: path.workspace project: path.project org: path.org name: requestBody.name identifier: requestBody.identifier - text: Make a copy of workspace {workspace} called {name}. slots: workspace: path.workspace name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/data'].get update: x-apievangelist-phrasing: intent: List stored plan and state data for a workspace effect: read questions: - Where can I see the plan and state files stored for a workspace? - Can I filter a workspace's stored data by pipeline execution or data type? instructions: - text: List all stored data for workspace {workspace} in project {project} of org {org}. slots: workspace: path.workspace project: path.project org: path.org - text: List {data_type} data stored for workspace {workspace} from execution {pipeline_execution_id}. slots: data_type: query.data_type workspace: path.workspace pipeline_execution_id: query.pipeline_execution_id method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/data'].post update: x-apievangelist-phrasing: intent: Store provisioner plan or state data effect: write questions: - How do I upload a plan or state file the provisioner generated to a workspace? - What pipeline and stage details must I pass when storing workspace data? instructions: - text: Store {data_type} data for workspace {workspace} in project {project} of org {org} from pipeline {pipeline_id} stage {stage_id}. slots: data_type: query.data_type workspace: path.workspace project: path.project org: path.org pipeline_id: query.pipeline_id stage_id: query.stage_id - text: Save the provisioner output for workspace {workspace} under execution {pipeline_execution_id}. slots: workspace: path.workspace pipeline_execution_id: query.pipeline_execution_id method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/data/{id}'].get update: x-apievangelist-phrasing: intent: Download one stored plan or state file effect: read questions: - How do I fetch a specific plan or state file stored on a workspace? - Can I download the binary data for one stored workspace record? instructions: - text: Get stored data {id} from workspace {workspace} in project {project} of org {org}. slots: id: path.id workspace: path.workspace project: path.project org: path.org - text: Download the state file with id {id} for workspace {workspace}. slots: id: path.id workspace: path.workspace method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/data/{id}/evaluate-policy'].get update: x-apievangelist-phrasing: intent: Evaluate policy against stored workspace data effect: read questions: - Can I run OPA policies against a plan file that is already stored? - How do I check whether a stored state file passes a policy action? instructions: - text: Evaluate policy action {policy_action} against data {id} in workspace {workspace} of project {project} in org {org}. slots: policy_action: query.policy_action id: path.id workspace: path.workspace project: path.project org: path.org - text: Run policy checks for {policy_action} on stored plan {id}. slots: policy_action: query.policy_action id: path.id method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/dependency-graph'].post update: x-apievangelist-phrasing: intent: Upload a dependency graph for a plan effect: write questions: - How do I attach a resource dependency graph to an existing plan file? - What execution details does uploading a dependency graph require? instructions: - text: Upload the dependency graph for workspace {workspace} in project {project} of org {org} from pipeline {pipeline_id} stage {stage_id}. slots: workspace: path.workspace project: path.project org: path.org pipeline_id: query.pipeline_id stage_id: query.stage_id - text: Attach dependency graph data to the plan from execution {pipeline_execution_id} on workspace {workspace}. slots: pipeline_execution_id: query.pipeline_execution_id workspace: path.workspace method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/drift-config'].get update: x-apievangelist-phrasing: intent: Check drift automation status for a workspace effect: read questions: - Is drift detection turned on for a workspace? - How can I see the drift automation schedule a workspace uses? instructions: - text: Get the drift automation status for workspace {workspace} in project {project} of org {org}. slots: workspace: path.workspace project: path.project org: path.org - text: Tell me whether drift detection is enabled on workspace {workspace}. slots: workspace: path.workspace method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/drift-config'].put update: x-apievangelist-phrasing: intent: Enable scheduled drift detection on a workspace effect: write questions: - How do I schedule drift detection to run on a workspace? - Can I choose which pipeline runs drift checks and how often? instructions: - text: Enable drift detection on workspace {workspace} in project {project} of org {org} using pipeline {pipeline_id}. slots: workspace: path.workspace project: path.project org: path.org pipeline_id: requestBody.pipeline_id - text: Run drift checks on workspace {workspace} every {run_every} {run_every_unit}. slots: workspace: path.workspace run_every: requestBody.run_every run_every_unit: requestBody.run_every_unit method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/drift-config'].delete update: x-apievangelist-phrasing: intent: Disable drift automation on a workspace effect: destructive questions: - How do I stop scheduled drift detection on a workspace? - Can I remove the drift schedule without deleting the workspace? instructions: - text: Disable drift automation for workspace {workspace} in project {project} of org {org}. slots: workspace: path.workspace project: path.project org: path.org - text: Turn off drift detection on workspace {workspace}. slots: workspace: path.workspace method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/ephemeral-config'].get update: x-apievangelist-phrasing: intent: Check ephemeral TTL settings for a workspace effect: read questions: - Does a workspace have a time-to-live that will destroy its infrastructure? - How can I see when an ephemeral workspace is scheduled to be torn down? instructions: - text: Get the ephemeral TTL status of workspace {workspace} in project {project} of org {org}. slots: workspace: path.workspace project: path.project org: path.org - text: Show whether workspace {workspace} is set to auto-destroy. slots: workspace: path.workspace method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/ephemeral-config'].put update: x-apievangelist-phrasing: intent: Set a TTL to auto-destroy a workspace's infrastructure effect: write questions: - Can I make a workspace ephemeral so its infrastructure is destroyed automatically? - Is it possible to also delete the workspace itself after the TTL expires? instructions: - text: Enable ephemeral TTL on workspace {workspace} in project {project} of org {org} using pipeline {pipeline_id}. slots: workspace: path.workspace project: path.project org: path.org pipeline_id: requestBody.pipeline_id - text: Destroy the infrastructure in workspace {workspace} on {destroy_on_date}. slots: workspace: path.workspace destroy_on_date: requestBody.destroy_on_date - text: Auto-destroy workspace {workspace} after {destroy_delay_value} {destroy_delay_unit}. slots: workspace: path.workspace destroy_delay_value: requestBody.destroy_delay_value destroy_delay_unit: requestBody.destroy_delay_unit method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/ephemeral-config'].delete update: x-apievangelist-phrasing: intent: Remove the ephemeral TTL from a workspace effect: destructive questions: - How do I cancel a scheduled auto-destroy on an ephemeral workspace? - Can I make an ephemeral workspace permanent again? instructions: - text: Disable ephemeral TTL for workspace {workspace} in project {project} of org {org}. slots: workspace: path.workspace project: path.project org: path.org - text: Stop workspace {workspace} from being destroyed automatically. slots: workspace: path.workspace method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/events'].post update: x-apievangelist-phrasing: intent: Send a provisioner event to a workspace effect: write questions: - How do I record an event against a workspace from a pipeline run? - What event type and metadata can I send to a workspace? instructions: - text: Send a {event_type} event to workspace {workspace} in project {project} of org {org}. slots: event_type: requestBody.event_type workspace: path.workspace project: path.project org: path.org - text: Post event {event_type} for workspace {workspace} tied to execution {pipeline_execution_id}. slots: event_type: requestBody.event_type workspace: path.workspace pipeline_execution_id: requestBody.pipeline_execution_id method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/pipelines'].get update: x-apievangelist-phrasing: intent: List pipelines that use a workspace effect: read questions: - Which pipelines reference a given workspace? - Before changing a workspace, can I see every pipeline it is used in? instructions: - text: List the pipelines that use workspace {workspace} in project {project} of org {org}. slots: workspace: path.workspace project: path.project org: path.org - text: Show where workspace {workspace} is used in pipelines. slots: workspace: path.workspace method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/remote-executions'].post update: x-apievangelist-phrasing: intent: Start a remote execution for a workspace effect: write questions: - How do I create a remote plan run for a workspace from my local code? - Can I pass custom arguments when creating a remote execution? instructions: - text: Create a remote execution for workspace {workspace} in project {project} of org {org}. slots: workspace: path.workspace project: path.project org: path.org - text: Create a remote execution on workspace {workspace} with arguments {custom_arguments}. slots: workspace: path.workspace custom_arguments: requestBody.custom_arguments method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/remote-executions/{id}'].get update: x-apievangelist-phrasing: intent: Show a remote execution effect: read questions: - How do I check on a remote execution I created for a workspace? - What details are returned for a single remote execution? instructions: - text: Show remote execution {id} for workspace {workspace} in project {project} of org {org}. slots: id: path.id workspace: path.workspace project: path.project org: path.org - text: Look up remote execution {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/remote-executions/{id}/download'].get update: x-apievangelist-phrasing: intent: Download source code for a remote execution effect: read questions: - Can I download the source code that was uploaded for a remote plan? - Where do I get the code bundle behind a remote execution? instructions: - text: Download the source for remote execution {id} on workspace {workspace} in project {project} of org {org}. slots: id: path.id workspace: path.workspace project: path.project org: path.org - text: Fetch the code bundle for remote plan {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/remote-executions/{id}/execute'].post update: x-apievangelist-phrasing: intent: Run a remote execution effect: write questions: - Once the source is uploaded, how do I kick off the remote execution? - Can I run a remote plan against a workspace after creating it? instructions: - text: Execute remote execution {id} on workspace {workspace} in project {project} of org {org}. slots: id: path.id workspace: path.workspace project: path.project org: path.org - text: Start running remote execution {id} now. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/remote-executions/{id}/upload'].post update: x-apievangelist-phrasing: intent: Upload source code for a remote execution effect: write questions: - How do I upload my local code for a remote execution? - Does uploading remote execution source require a content digest? instructions: - text: Upload source code for remote execution {id} on workspace {workspace} in project {project} of org {org}. slots: id: path.id workspace: path.workspace project: path.project org: path.org - text: Upload the code bundle to remote execution {id} with digest {Content-Digest}. slots: id: path.id Content-Digest: header.Content-Digest method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/resource-types'].get update: x-apievangelist-phrasing: intent: List resource types in a workspace effect: read questions: - What kinds of resource types exist in a workspace's state? - Can I get just the list of resource types a workspace manages, without the attributes? instructions: - text: List resource types used by workspace {workspace} in project {project} of org {org}. slots: workspace: path.workspace project: path.project org: path.org - text: Show the resource types in workspace {workspace}. slots: workspace: path.workspace method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/resource-types-and-attributes'].get update: x-apievangelist-phrasing: intent: Map a workspace's resource types to their attributes effect: read questions: - Can I get every resource type in a workspace together with its attributes in one call? - Which attributes does each resource type in my workspace expose? instructions: - text: Get the map of resource types and attributes for workspace {workspace} in project {project} of org {org}. slots: workspace: path.workspace project: path.project org: path.org - text: Show all resource types with their attributes for workspace {workspace}. slots: workspace: path.workspace method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/resource-types/{resource_type}/attributes'].get update: x-apievangelist-phrasing: intent: List attributes of one resource type in a workspace effect: read questions: - What attributes does a single resource type have in my workspace? - How do I see the attributes of aws_s3_bucket resources in a workspace? instructions: - text: List attributes of resource type {resource_type} in workspace {workspace} of project {project} in org {org}. slots: resource_type: path.resource_type workspace: path.workspace project: path.project org: path.org - text: Show the attributes for {resource_type} resources in workspace {workspace}. slots: resource_type: path.resource_type workspace: path.workspace method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/resources'].delete update: x-apievangelist-phrasing: intent: Delete destroyed resources from a workspace effect: destructive questions: - How do I clean up resource records that were already destroyed? - Can I remove specific destroyed resources from a workspace's inventory? instructions: - text: Delete destroyed resources {resources} from workspace {workspace} in project {project} of org {org}. slots: resources: requestBody.resources workspace: path.workspace project: path.project org: path.org - text: Remove the destroyed resource records {resources} from workspace {workspace}. slots: resources: requestBody.resources workspace: path.workspace method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/resources'].patch update: x-apievangelist-phrasing: intent: Update the resources recorded for a workspace effect: write questions: - How do I push an updated resource inventory to a workspace? - Can I tag a resource update with a session id and update mode? instructions: - text: Update resources {resources} for workspace {workspace} in project {project} of org {org}. slots: resources: requestBody.resources workspace: path.workspace project: path.project org: path.org - text: Record resources {resources} on workspace {workspace} for session {session_id}. slots: resources: requestBody.resources workspace: path.workspace session_id: requestBody.session_id method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/resources/stale'].delete update: x-apievangelist-phrasing: intent: Delete stale resources outside the current session effect: destructive questions: - How do I purge workspace resources left over from earlier sessions? - Can I delete every resource that doesn't belong to my current session? instructions: - text: Delete stale resources from workspace {workspace} in project {project} of org {org} not in session {session_id}. slots: workspace: path.workspace project: path.project org: path.org session_id: requestBody.session_id - text: Purge resources on workspace {workspace} that aren't from session {session_id}. slots: workspace: path.workspace session_id: requestBody.session_id method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/risk-assessment'].post update: x-apievangelist-phrasing: intent: Upload risk assessment data for a plan effect: write questions: - How do I attach per-resource risk scores to an existing plan file? - Can I upload an overall risk summary for a workspace plan? instructions: - text: Upload risk assessment data for workspace {workspace} in project {project} of org {org} from pipeline {pipeline_id} stage {stage_id}. slots: workspace: path.workspace project: path.project org: path.org pipeline_id: query.pipeline_id stage_id: query.stage_id - text: Attach the risk summary to the plan from execution {pipeline_execution_id} on workspace {workspace}. slots: pipeline_execution_id: query.pipeline_execution_id workspace: path.workspace method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/state-versions/{data_id}/rollback'].post update: x-apievangelist-phrasing: intent: Roll back workspace state to a previous version effect: write questions: - How do I restore a workspace's Terraform state to an earlier version? - Can I roll back state while a pipeline is still running on the workspace? instructions: - text: Roll back workspace {workspace} in project {project} of org {org} to state version {data_id}. slots: workspace: path.workspace project: path.project org: path.org data_id: path.data_id - text: Restore state version {data_id} on workspace {workspace} because {rollback_reason}. slots: data_id: path.data_id workspace: path.workspace rollback_reason: requestBody.rollback_reason method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/provisioners-ratio'].get update: x-apievangelist-phrasing: intent: Show the mix of provisioners across workspaces effect: read questions: - What share of my workspaces use Terraform versus OpenTofu or other provisioners? - Can I see the provisioner ratio for a given time range? instructions: - text: Show the provisioner ratio for workspaces in project {project} of org {org}. slots: project: path.project org: path.org - text: Get the provisioner breakdown in {project} from {start_time} to {end_time}. slots: project: path.project start_time: query.start_time end_time: query.end_time method: generated generated: '2026-09-26' - target: $.paths['/iacm/api/workspace/templates/{template_id}'].get update: x-apievangelist-phrasing: intent: List workspaces created from a template effect: read questions: - Which workspaces across my account were built from a particular template? - Can I narrow the workspaces for a template down to one template version? instructions: - text: List all workspaces associated with template {template_id} across the account. slots: template_id: path.template_id - text: Find workspaces using version {version} of template {template_id}. slots: version: query.version template_id: path.template_id method: generated generated: '2026-09-26'