Harness · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Harness Workspaces API
42 actions
42 updates
phrasing
extends
openapi/harness-workspaces-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Harness's API. It is a proposal applied on top of the contract, not a document Harness publishes.
What the actions change
x-apievangelist-phrasing
Targets 42 · first 16 shown; the file carries all of them
$.info
$.paths['/iacm/api/orgs/{org}/projects/{project}/tags'].get
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspace-metrics'].get
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces'].get
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces'].post
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{identifier}'].get
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{identifier}'].put
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{identifier}'].delete
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{identifier}/actions/force-unlock'].post
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{identifier}/actions/lock'].post
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{identifier}/modules'].get
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{identifier}/resources'].get
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{identifier}/resources/search'].post
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/clone'].post
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/data'].get
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/data'].post
OpenAPI Overlay
# 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'
# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/harness/refs/heads/main/overlays/harness-workspaces-api-phrasing-overlay.yaml