---
title: Hashicorp Terraform Cloud API Integration on Truto
slug: hashicorpterraformcloud
category: CI/CD
canonical: "https://truto.one/integrations/detail/hashicorpterraformcloud/"
---

# Hashicorp Terraform Cloud API Integration on Truto



**Category:** CI/CD  
**Status:** Generally available

## Unified APIs

### Unified User Directory API

- **Groups** — Groups are a collection of users in the source application. In some applications, they might also be called Teams.
- **Organizations** — Organizations are the top level entity in the source application. Users are associated with an organization.
- **Users** — The User object represents a User.
- **Workspaces** — Workspaces represent concepts like teams, workspaces, projects in apps that support them

## MCP-ready AI tools

Truto exposes 290 tools for Hashicorp Terraform Cloud that AI agents can call directly.

- **list_all_hashicorpterraformcloud_account** — It represents the current user interacting with HashiCorp Terraform account..
- **update_a_hashicorpterraformcloud_account_by_id** — Update your account info in Hashicorp Terraform Cloud with new username and email. Returns id, username, email, avatar-url, permissions, and other user attributes in the response.
- **hashicorpterraformcloud_account_change_password** — Update account password in Hashicorp Terraform Cloud. Requires current_password, password, and password_confirmation. Returns id, username, email, authentication tokens link, permissions, and account details in response.
- **list_all_hashicorpterraformcloud_organizations** — Use this endpoint to fetch a list of all organizations associated with your HashiCorp Terraform account.
- **get_single_hashicorpterraformcloud_organization_by_id** — Use this endpoint to get a single Organization in a HashiCorp Terraform account. Always requires the id to fetch
- **create_a_hashicorpterraformcloud_organization** — Create an organization in Hashicorp Terraform Cloud with name and email. Returns id, name, email, session timeout, collaborator auth policy, cost estimation status, and default execution mode.
- **update_a_hashicorpterraformcloud_organization_by_id** — Update an organization in Hashicorp Terraform Cloud. Requires id. Returns fields such as email, name, cost-estimation-enabled, collaborator-auth-policy, created-at, default-execution-mode, owners-team-saml-role-id, and permissions indicating the organization's configuration and access rights.
- **delete_a_hashicorpterraformcloud_organization_by_id** — Delete an organization in Hashicorp Terraform Cloud. Requires id. The response body will be empty if successful.
- **hashicorpterraformcloud_organizations_show_data_retention_policy** — Get data retention policy in Hashicorp Terraform Cloud for a specific organization_name. Returns the organization's explicit or default data retention policy fields.
- **hashicorpterraformcloud_organizations_create_data_retention_policy** — Create a data-retention-policy in Hashicorp Terraform Cloud for the specified organization_name. Returns the created or updated policy fields, such as policy ID and retention settings.
- **hashicorpterraformcloud_organizations_delete_data_retention_policy** — Remove the data retention policy for a specific organization in Hashicorp Terraform Cloud. Requires organization_name. Returns no content and reverts the organization to the default data retention policy.
- **hashicorpterraformcloud_organizations_update_data_retention_policy** — Create a data-retention-policy in Hashicorp Terraform Cloud for the specified organization_name. Returns the created or updated policy fields, such as policy ID and retention settings.
- **list_all_hashicorpterraformcloud_workspaces** — Use this endpoint to fetch a list of all workspaces within an organization. The organization_name parameter is always required to list the workspaces.
- **get_single_hashicorpterraformcloud_workspace_by_id** — Use this endpoint to retrieve information about a specific workspace within an organization. The workspace id is required to fetch the details.
- **create_a_hashicorpterraformcloud_workspace** — List workspaces in Hashicorp Terraform Cloud for organization_name. Returns id, type, attributes (including name, execution-mode, locked, resource-count, tag-names, terraform-version), and relationships for each workspace.
- **update_a_hashicorpterraformcloud_workspace_by_id** — Update a specific workspace in Hashicorp Terraform Cloud using workspace_id. Returns workspace fields including id, name, allow-destroy-plan, execution-mode, description, vcs-repo, terraform-version, resource-count, locked, tag-names, and detailed permissions.
- **hashicorpterraformcloud_workspaces_lock** — Lock a workspace in Hashicorp Terraform Cloud. Requires id. Returns workspace fields including id, name, locked status, environment, execution mode, tag-names, permissions, and associated relationships in the response.
- **hashicorpterraformcloud_workspaces_unlock** — Unlock a specific workspace in Hashicorp Terraform Cloud using id. Returns id, type, attributes (such as actions, locked status, name, execution-mode, permissions), links, and relationships fields in the response. Unlock may fail if the latest intermediate state version is not finalized; check state status and retry if necessary.
- **hashicorpterraformcloud_workspaces_force_unlock** — Force unlock a workspace in Hashicorp Terraform Cloud. Requires id. Returns workspace attributes such as locked, name, environment, vcs-repo, permissions, and related resource ids and links in the response.
- **hashicorpterraformcloud_workspaces_assign_ssh_key** — Assign an SSH key to a workspace in Hashicorp Terraform Cloud. Requires id. Returns workspace fields such as id, type, and attributes including name, description, permissions, vcs-repo, and related relationships.
- **hashicorpterraformcloud_workspaces_unassign_ssh_key** — Unassign the currently assigned SSH key from a workspace in Hashicorp Terraform Cloud. Requires id. Returns updated workspace information, reflecting removal of the SSH key.
- **list_all_hashicorpterraformcloud_teams** — List teams in Hashicorp Terraform Cloud for a specified organization_name. Returns each team's id, attributes (such as name, sso-team-id, users-count, visibility, allow-member-token-management), permissions, organization-access, relationships, and links.
- **get_single_hashicorpterraformcloud_team_by_id** — Use this endpoint to retrieve information about a specific team within an organization. The team id is required to fetch the details.
- **create_a_hashicorpterraformcloud_team** — Create a team in Hashicorp Terraform Cloud for the specified organization_name. Returns id, attributes (name, sso-team-id, organization-access, permissions, users-count, visibility, allow-member-token-management), links, relationships, and type fields in the response.
- **update_a_hashicorpterraformcloud_team_by_id** — Update a team in Hashicorp Terraform Cloud. Requires id. Returns name, sso-team-id, organization-access permissions, visibility, allow-member-token-management, permissions, users-count, and relationships in the response. Note: If read-projects or manage-projects is true, read-workspaces or manage-workspaces must also be true.
- **delete_a_hashicorpterraformcloud_team_by_id** — Delete a specific team in Hashicorp Terraform Cloud. Requires id. No content is returned in the response.
- **list_all_hashicorpterraformcloud_projects** — List projects in a specific organization in Hashicorp Terraform Cloud. Requires organization_name. Returns id, name, description, workspace-count, team-count, permissions, and related resource links for each project.
- **get_single_hashicorpterraformcloud_project_by_id** — Get details about a specific project in Hashicorp Terraform Cloud. Requires id. Returns fields including name, description, workspace-count, team-count, permissions, and organization relationship.
- **create_a_hashicorpterraformcloud_project** — Create a project in Hashicorp Terraform Cloud. Requires organization_name. Returns fields: id, type, attributes (name, description, default-execution-mode, permissions, setting-overwrites), relationships, and links.
- **update_a_hashicorpterraformcloud_project_by_id** — Update a specific project in Hashicorp Terraform Cloud by id. Returns updated project fields such as name, description, auto-destroy-activity-duration, tag-bindings, default-execution-mode, default-agent-pool, and setting-overwrites.
- **delete_a_hashicorpterraformcloud_project_by_id** — Delete a project in Hashicorp Terraform Cloud by id. The project cannot be deleted if it contains stacks or workspaces. Returns confirmation of deletion.
- **hashicorpterraformcloud_projects_update_tag_bindings** — Add or update tag bindings for a project in Hashicorp Terraform Cloud. Requires id. Returns tag binding id, key, and value fields for each updated or added tag binding in the response.
- **hashicorpterraformcloud_projects_move_workspace_into_project** — Move one or more workspaces into a project in Hashicorp Terraform Cloud. Requires id. Returns errors with status, title, and detail if any workspace is not found or you are not authorized.
- **get_single_hashicorpterraformcloud_user_by_id** — Get details about a specific user in Hashicorp Terraform Cloud using id. Returns id, username, is-service-account, auth-method, avatar-url, v2-only, permissions, and relevant links in the response.
- **list_all_hashicorpterraformcloud_organization_membership** — List organization_membership resources in Hashicorp Terraform Cloud for a specific organization_name. Returns each membership's id, status, user, teams, and organization in the response.
- **create_a_hashicorpterraformcloud_organization_membership** — Invite a user to an organization in Hashicorp Terraform Cloud. Requires organization_name and a user email. Returns id, status, team membership, user id, and organization id fields in the response.
- **get_single_hashicorpterraformcloud_organization_membership_by_id** — Get organization_membership details in Hashicorp Terraform Cloud. Requires id. Returns status, related teams, user, and organization in the response.
- **delete_a_hashicorpterraformcloud_organization_membership_by_id** — Delete an organization_membership in Hashicorp Terraform Cloud. Requires id. No content is returned in the response.
- **list_all_hashicorpterraformcloud_agent_pools** — List agent pools in Hashicorp Terraform Cloud for a specific organization_name. Returns id, name, created-at, organization-scoped, agent-count, and relationships to agents, authentication-tokens, and workspaces in the response.
- **get_single_hashicorpterraformcloud_agent_pool_by_id** — Get information about a specific agent pool in Hashicorp Terraform Cloud. Requires id. Returns id, name, created-at, organization-scoped, and relationships including agents, authentication-tokens, workspaces, and allowed-workspaces.
- **create_a_hashicorpterraformcloud_agent_pool** — Create an Agent Pool for an organization in Hashicorp Terraform Cloud. Requires organization_name and data with type 'agent-pools' and attributes.name. Returns id, name, created-at, organization-scoped, and allowed-workspaces in the response.
- **update_a_hashicorpterraformcloud_agent_pool_by_id** — Update an agent pool by id in Hashicorp Terraform Cloud. Requires id and a JSON body with data.type as 'agent-pools', data.attributes.name for the unique pool name, data.attributes.organization-scoped for scope, and optionally data.relationships.allowed-workspaces.data.id for workspace permission. Returns updated agent pool data.
- **delete_a_hashicorpterraformcloud_agent_pool_by_id** — Delete an agent pool by id in Hashicorp Terraform Cloud. Returns no content on success.
- **list_all_hashicorpterraformcloud_agents** — List agents for a specific agent_pool_id in Hashicorp Terraform Cloud. Returns agent id, name, status, ip-address, and last-ping-at fields.
- **get_single_hashicorpterraformcloud_agent_by_id** — Get information about a specific agent in Hashicorp Terraform Cloud. Requires id. Returns id, name, status, ip-address, and last-ping-at fields.
- **delete_a_hashicorpterraformcloud_agent_by_id** — Delete an agent by id in Hashicorp Terraform Cloud.
- **list_all_hashicorpterraformcloud_agent_tokens** — List agent tokens for a specific agent pool in Hashicorp Terraform Cloud. Requires agent_pool_id. Returns id, type, created-at, last-used-at, description, and created-by fields for each token. Secret token value is not included.
- **get_single_hashicorpterraformcloud_agent_token_by_id** — Get details about a specific agent token in Hashicorp Terraform Cloud. Requires id. Returns id, type, created-at, last-used-at, description, token, and created-by fields in the response.
- **create_a_hashicorpterraformcloud_agent_token** — Create an agent token in Hashicorp Terraform Cloud using agent_pool_id. Returns id, type, created-at, last-used-at, description, token, and created-by.id/type in the response. Token is only shown upon creation and cannot be recovered later.
- **delete_a_hashicorpterraformcloud_agent_token_by_id** — Delete an agent token in Hashicorp Terraform Cloud. Requires id. Returns an empty response on successful deletion.
- **get_single_hashicorpterraformcloud_apply_by_id** — Get information about a specific apply in Hashicorp Terraform Cloud. Requires id. Returns execution details, status, status timestamps, log-read-url, resource changes, related state-version ids, and self link.
- **hashicorpterraformcloud_applies_recover_failed_state** — Recover a failed state upload after applying in Hashicorp Terraform Cloud. Requires apply_id. Returns a redirect to the raw state upload data if available due to a failed upload during apply.
- **list_all_hashicorpterraformcloud_audit_trails** — List audit-trail events in Hashicorp Terraform Cloud for the organization. Returns id, version, type, timestamp, auth, request, and resource fields for each event. Requires organization-level authentication.
- **create_a_hashicorpterraformcloud_audit_trail_token** — Create a new audit-trail-tokens in Hashicorp Terraform Cloud for the specified organization_name. Returns id, type, created-at, last-used-at, description, token, expired-at, and created-by fields in the response.
- **delete_a_hashicorpterraformcloud_audit_trail_token_by_id** — Delete an audit trail token for a specific organization in Hashicorp Terraform Cloud. Requires organization_name. No content is returned upon successful deletion.
- **get_single_hashicorpterraformcloud_assessment_result_by_id** — Get assessment-results in Hashicorp Terraform Cloud. Requires id. Returns attributes such as drifted, succeeded, error-msg, created-at, and links including self, json-output, json-schema, and log-output.
- **hashicorpterraformcloud_assessment_results_retrieve_json_output** — Get the JSON plan output for a specific assessment result in Hashicorp Terraform Cloud. Returns the full JSON plan associated with the given id.
- **hashicorpterraformcloud_assessment_results_retrieve_schema_file** — Get the provider JSON schema for a specific assessment result in Hashicorp Terraform Cloud. Requires assessment_result_id. Returns the full provider schema used in the assessment result.
- **hashicorpterraformcloud_assessment_results_retrieve_json_log_output** — Get JSON log output for a specific assessment-results resource in Hashicorp Terraform Cloud using assessment_result_id. Returns the detailed log output for assessment execution.
- **list_all_hashicorpterraformcloud_change_requests** — List change requests in Hashicorp Terraform Cloud for a specific workspace_name. Returns id, subject, message, archived-by, archived-at, created-at, updated-at fields, and workspace relationship in the response.
- **get_single_hashicorpterraformcloud_change_request_by_id** — Get details about a specific change request in Hashicorp Terraform Cloud using id. Returns subject, message, archived-by, archived-at, created-at, updated-at, and workspace fields in the response.
- **create_a_hashicorpterraformcloud_change_request** — Create a new change request in Hashicorp Terraform Cloud. Requires organization_id. Returns id, organization_id, action_type, action_inputs, created_by, and type fields in the response.
- **hashicorpterraformcloud_change_requests_archive** — Archive change-requests in Hashicorp Terraform Cloud. Requires change_request_id. Returns subject, message, archived-by, archived-at, created-at, updated-at, and workspace in the response.
- **list_all_hashicorpterraformcloud_run_comments** — List comments for a specific run in Hashicorp Terraform Cloud. Requires run_id. Returns comment id, body, related run-event id, and self link for each comment.
- **get_single_hashicorpterraformcloud_run_comment_by_id** — Get a specific run-comment in Hashicorp Terraform Cloud. Requires id. Returns id, type, attributes.body, relationships.run-event, and links for the comment.
- **create_a_hashicorpterraformcloud_run_comment** — Create a comment for a specific run in Hashicorp Terraform Cloud. Requires run_id. Returns id, type, body, associated run-event details, and self link in the response.
- **list_all_hashicorpterraformcloud_configuration_versions** — List configuration-versions in Hashicorp Terraform Cloud for a workspace_id. Returns fields such as id, source, status, and links for each configuration-version in the response.
- **get_single_hashicorpterraformcloud_configuration_version_by_id** — Get a configuration version in Hashicorp Terraform Cloud. Requires id. Returns id, type, attributes (error, error-message, source, speculative, status, status-timestamps, provisional), relationships, and links fields.
- **create_a_hashicorpterraformcloud_configuration_version** — Create a configuration version in Hashicorp Terraform Cloud for a given workspace_id. Returns id, type, attributes (including auto-queue-runs, source, error, status, upload-url, speculative, provisional), relationships, and links in the response.
- **hashicorpterraformcloud_configuration_versions_archive** — Archive a configuration version in Hashicorp Terraform Cloud. Requires configuration_version_id. Only configuration versions in the uploaded state and created via API/CLI, with no active runs and not in use, can be archived. No content is returned in the response.
- **hashicorpterraformcloud_configuration_versions_garbage_collection** — Mark a configuration version for garbage collection in Hashicorp Terraform Cloud. Requires id. Returns information about the soft deletion action including status and result fields. Only available in Terraform Enterprise. Only configuration versions created by API or CLI, in uploaded state, and not the current version can be soft deleted.
- **delete_a_hashicorpterraformcloud_configuration_version_by_id** — Permanently delete backing data for a specific configuration version in Hashicorp Terraform Cloud. Requires id. This action irreversibly removes all associated files for the configuration version. Only allowed for eligible configuration versions.
- **list_all_hashicorpterraformcloud_configuration_version_commits** — Get commit information for a configuration version in Hashicorp Terraform Cloud. Requires id. Returns fields including branch, commit-message, commit-sha, commit-url, pull-request-title, and sender-username.
- **hashicorpterraformcloud_configuration_files_download** — Download configuration-files in Hashicorp Terraform Cloud using configuration_version_id. Returns a temporary redirect URL to a .tar.gz archive if the configuration version is in the uploaded state.
- **hashicorpterraformcloud_configuration_files_download_run_configuration_files** — Download configuration files for a specific run in Hashicorp Terraform Cloud. Requires run_id. Returns the configuration files as a downloadable file.
- **hashicorpterraformcloud_garbage_collection_restore_configuration_version** — Restore a configuration version marked for garbage collection in Hashicorp Terraform Cloud. Requires configuration_version_id. Returns the configuration version restored to its uploaded state if it is restorable; returns an error if not.
- **get_single_hashicorpterraformcloud_cost_estimate_by_id** — Get a specific cost estimate in Hashicorp Terraform Cloud by id. Returns id, type, attributes (such as status, proposed/prior/delta monthly cost, resource counts, error-message, status-timestamps, resources), and links.self in the response.
- **list_all_hashicorpterraformcloud_saved_views** — List saved views in Hashicorp Terraform Cloud for a specific organization. Requires organization_name. Returns id, type, name, created-at, query, and query-type for each saved view.
- **create_a_hashicorpterraformcloud_saved_view** — Create a saved view in Hashicorp Terraform Cloud for a specific organization_name. Returns id, type, name, created-at, query details, and query-type in the response.
- **get_single_hashicorpterraformcloud_saved_view_by_id** — Get details about a specific saved view in Hashicorp Terraform Cloud, including its name, created-at timestamp, query definition, and query-type. Requires organization_name and id. Returns fields such as id, type, attributes, and their contents.
- **update_a_hashicorpterraformcloud_saved_view_by_id** — Update a saved view in Hashicorp Terraform Cloud using organization_name and id. Returns id, type, name, created-at, query, and query-type fields in the response.
- **delete_a_hashicorpterraformcloud_saved_view_by_id** — Delete a saved view in Hashicorp Terraform Cloud. Requires organization_name and id. Returns id, type, and attributes including name, created-at, query details, and query-type of the deleted saved view.
- **list_all_hashicorpterraformcloud_query_saved_views** — Re-execute a saved view's query to retrieve current results using organization_name and view_id. Returns workspace visibility details such as current-run-status, drifted, checks, project-name, workspace-name, and state-version-terraform-version.
- **hashicorpterraformcloud_query_saved_views_re_execute_as_csv** — Get saved view results as CSV in Hashicorp Terraform Cloud. Requires organization_name and view_id. Returns a CSV with fields like current_run_status, drifted, workspace_name, project_name, and associated metadata for each view result.
- **list_all_hashicorpterraformcloud_organization_explorer** — Query explorer data in Hashicorp Terraform Cloud for a specific organization using organization_name and type. Returns key attributes such as workspace status, drift, counts, module and provider details, and run statuses for each row.
- **hashicorpterraformcloud_organization_explorer_export** — This endpoint can be used to download a full, unpaged export of the query results in CSV format (with the filter, sort, and field selections applied). Returns a CSV file with fields such as workspace details, organization_name, project_name, run statuses, and associated metadata. organization_name is required.
- **list_all_hashicorpterraformcloud_feature_sets** — List feature-sets in Hashicorp Terraform Cloud. Returns each feature-set's id, type, and attributes such as name, description, identifier, plan, available features, and usage limits.
- **list_all_hashicorpterraformcloud_organization_feature_sets** — List feature sets for organization in Hashicorp Terraform Cloud. Requires organization_name. Returns feature set id, name, status, and eligibility state for each feature set.
- **list_all_hashicorpterraformcloud_github_installations** — List GitHub App installations in Hashicorp Terraform Cloud. Returns id, type, name, installation-id, icon-url, installation-type, and installation-url for each installation.
- **get_single_hashicorpterraformcloud_github_installation_by_id** — Get information about a specific github-installations resource in Hashicorp Terraform Cloud. Requires id. Returns id, name, installation-id, icon-url, installation-type, and installation-url fields in the response.
- **list_all_hashicorpterraformcloud_invoices** — List invoices for a specific organization in Hashicorp Terraform Cloud. Requires organization_name. Returns invoice id, created-at, external-link, number, paid, status, and total fields for each invoice.
- **hashicorpterraformcloud_invoices_retrieve_next_month_invoice** — Get the next month's invoice for an organization in Hashicorp Terraform Cloud. Requires organization_name. Returns id, type, created-at, external-link, number, paid, status, and total in the response.
- **list_all_hashicorpterraformcloud_ip_ranges** — Get IP Ranges in Hashicorp Terraform Cloud. Returns api, notifications, sentinel, and vcs fields with their corresponding IP address ranges.
- **get_single_hashicorpterraformcloud_no_code_module_by_id** — Get properties of a specific no-code module in Hashicorp Terraform Cloud. Requires id. Returns id, type, attributes (enabled, version-pin), relationships (organization, registry-module, variable-options), and links.
- **update_a_hashicorpterraformcloud_no_code_module_by_id** — Update no-code provisioning settings for a specific no-code-module in Hashicorp Terraform Cloud using id. Returns id, type, attributes (enabled, version-pin), and relationships (organization, registry-module, variable-options) in the response. Only accessible with user or team tokens, not organization tokens.
- **create_a_hashicorpterraformcloud_no_code_module** — Enable no-code provisioning for a module in Hashicorp Terraform Cloud. Requires organization_name. Returns id, type, attributes (enabled, version-pin), relationships (organization, registry-module, variable-options), and links (self) in the response. The module must exist in the private registry and meet design requirements.
- **hashicorpterraformcloud_no_code_module_create_workspace** — Create a workspace from a specific no-code module in Hashicorp Terraform Cloud using no_code_module_id. Returns key workspace information including id, name, environment, attributes, permissions, relationships, and links. Using an organization token is not permitted; a user or team token is required.
- **get_single_hashicorpterraformcloud_workspace_upgrade_plan_by_id** — Get details and status of a workspace upgrade plan in Hashicorp Terraform Cloud. Requires no_code_module_id, workspace_id, and id. Returns status, plan-url, and related workspace information.
- **update_a_hashicorpterraformcloud_workspace_upgrade_plan_by_id** — Confirm and apply a workspace upgrade plan in Hashicorp Terraform Cloud. Requires no_code_module_id, workspace_id, and id. Returns the result of finalizing the no-code provisioning workspace upgrade.
- **create_a_hashicorpterraformcloud_workspace_upgrade_plan** — Initiate an upgrade plan for a workspace in Hashicorp Terraform Cloud. Requires no_code_module_id and id. Returns run id, plan status, plan-url, and workspace id and type in the response.
- **list_all_hashicorpterraformcloud_notification_configurations** — List notification configurations in Hashicorp Terraform Cloud workspace. Requires workspace_id. Returns id, type, attributes (enabled, name, url, destination-type, triggers, created-at, updated-at), relationships, and links for each configuration.
- **create_a_hashicorpterraformcloud_notification_configuration** — Create a notification configuration in Hashicorp Terraform Cloud for the specified workspace_id. Returns id, type, attributes (including enabled, name, url, destination-type, triggers, delivery-responses, created-at, updated-at), relationships, and links in the response.
- **get_single_hashicorpterraformcloud_notification_configuration_by_id** — Get a specific notification configuration in Hashicorp Terraform Cloud by id. Returns fields including enabled, name, url, destination-type, triggers, delivery-responses, created-at, updated-at, and subscribable relationship.
- **update_a_hashicorpterraformcloud_notification_configuration_by_id** — Update notification-configurations in Hashicorp Terraform Cloud by id. Returns enabled status, name, url, destination-type, token, triggers, delivery-responses, created-at, updated-at, subscribable relationship, and self link in the response.
- **delete_a_hashicorpterraformcloud_notification_configuration_by_id** — Delete a notification configuration in Hashicorp Terraform Cloud. Requires id. No response content is returned.
- **hashicorpterraformcloud_notification_configurations_verify** — Verify a notification configuration in Hashicorp Terraform Cloud. Requires notification_configuration_id. Returns attributes such as enabled, name, url, destination-type, triggers, delivery-responses, created-at, updated-at, and relationships.
- **create_a_hashicorpterraformcloud_team_notification_configuration** — Create a team notification configuration in Hashicorp Terraform Cloud for the specified team_id. Returns id, type, attributes (such as enabled, name, url, destination-type, token, triggers, delivery-responses, created-at, updated-at), relationships, and links in the response.
- **list_all_hashicorpterraformcloud_team_notification_configurations** — List team notification configurations in Hashicorp Terraform Cloud for the specified team_id. Returns id, type, attributes (enabled, name, url, destination-type, triggers, delivery-responses, created-at, updated-at), relationships, and links for each configuration.
- **list_all_hashicorpterraformcloud_oauth_clients** — List OAuth Clients for a specific organization in Hashicorp Terraform Cloud. Requires organization_name. Returns id, type, attributes (created-at, callback-url, service-provider, etc.), and relationships (organization, projects, oauth-tokens, agent-pool) for each OAuth client.
- **get_single_hashicorpterraformcloud_oauth_client_by_id** — Get details about a specific OAuth Client in Hashicorp Terraform Cloud. Requires id. Returns id, type, attributes like created-at, callback-url, service-provider, organization-scoped, and relationships to organization, projects, oauth-tokens, and agent-pool.
- **create_a_hashicorpterraformcloud_oauth_client** — Create an OAuth client in Hashicorp Terraform Cloud for a specific organization using organization_name. Returns OAuth client id, callback-url, connect-path, service-provider, organization-scoped, and associated projects and agent-pool.
- **update_a_hashicorpterraformcloud_oauth_client_by_id** — Update an OAuth Client in Hashicorp Terraform Cloud by id. Returns fields such as id, type, attributes (created-at, callback-url, service-provider, name, http-url, key, organization-scoped), and relationships (organization, projects, oauth-tokens, agent-pool) in the response. Use caution as updating attributes may impact workspaces using this OAuth client.
- **delete_a_hashicorpterraformcloud_oauth_client_by_id** — Delete an OAuth client in Hashicorp Terraform Cloud. Requires id. Removing the OAuth client unlinks associated workspaces from their repositories, and these must be manually relinked.
- **create_a_hashicorpterraformcloud_oauth_client_project** — Attach specified projects to an OAuth client in Hashicorp Terraform Cloud. Requires id. Returns details of attached projects including each project's id and type.
- **hashicorpterraformcloud_oauth_client_projects_delete_project** — Detach an OAuth client from specified projects in Hashicorp Terraform Cloud. Requires id. Returns success if the OAuth client is detached from the provided projects.
- **list_all_hashicorpterraformcloud_oauth_tokens** — List all oauth-tokens for an OAuth Client in Hashicorp Terraform Cloud. Requires oauth_client_id. Returns id, type, created-at, service-provider-user, has-ssh-key, and oauth-client info for each oauth-token.
- **get_single_hashicorpterraformcloud_oauth_token_by_id** — Get a specific OAuth token in Hashicorp Terraform Cloud. Requires id. Returns id, type, created-at, service-provider-user, has-ssh-key, oauth-client relationship, and self link in the response.
- **update_a_hashicorpterraformcloud_oauth_token_by_id** — Update an OAuth token in Hashicorp Terraform Cloud by id. Returns id, type, attributes (created-at, service-provider-user, has-ssh-key), relationships (oauth-client), and self link in the response.
- **delete_a_hashicorpterraformcloud_oauth_token_by_id** — Delete an OAuth Token in Hashicorp Terraform Cloud. Requires id. The specified OAuth Token will be destroyed and cannot be recovered.
- **list_all_hashicorpterraformcloud_organization_entitlements** — Get entitlement set for an organization in Hashicorp Terraform Cloud. Requires organization_name. Returns entitlement feature flags and organization limits such as agents, audit-logging, policy-limit, user-limit, and others.
- **list_all_hashicorpterraformcloud_organization_module_producers** — List module producers in Hashicorp Terraform Cloud for a specific organization. Requires organization_name. Returns id, type, attributes (name, external-id), and links (self) for each producer.
- **list_all_hashicorpterraformcloud_users_own_memberships** — List organization-memberships for the currently authenticated user in Hashicorp Terraform Cloud. Returns id, status, and related teams, user, and organization information for each membership.
- **list_all_hashicorpterraformcloud_organization_tags** — List organization-tags in Hashicorp Terraform Cloud for a specific organization_name. Returns id, type, attributes (name, created-at, instance-count), and relationships.organization for each tag.
- **delete_a_hashicorpterraformcloud_organization_tag_by_id** — Delete one or more tags from an organization in Hashicorp Terraform Cloud. Requires organization_name. No response body is returned.
- **hashicorpterraformcloud_organization_tags_add_workspace** — Add workspaces to a specific organization tag in Hashicorp Terraform Cloud. Requires id. No response content is returned.
- **create_a_hashicorpterraformcloud_organization_token** — Create an organization token in Hashicorp Terraform Cloud. Requires organization_name. Returns id, type, created-at, last-used-at, description, token, expired-at, and created-by fields in the response. Token can only be accessed on creation.
- **delete_a_hashicorpterraformcloud_organization_token_by_id** — Delete the organization token in Hashicorp Terraform Cloud. Requires organization_name. No response body is returned.
- **create_a_hashicorpterraformcloud_plan_export** — Create a plan export in Hashicorp Terraform Cloud. Returns id, type, attributes (data-type, status, status-timestamps), relationships (plan), and links (self) in the response.
- **get_single_hashicorpterraformcloud_plan_export_by_id** — Get information about a specific plan export in Hashicorp Terraform Cloud. Requires id. Returns attributes such as data-type, status, status-timestamps, related plan id, and links including self and download.
- **hashicorpterraformcloud_plan_exports_download** — Download exported plan data in Hashicorp Terraform Cloud by id. Returns a temporary URL to a .tar.gz archive containing the exported plan data. Requires id. Main response field is the redirect to the download URL.
- **delete_a_hashicorpterraformcloud_plan_export_by_id** — Delete exported plan data in Hashicorp Terraform Cloud. Requires id. Deletes a specific plan export before its standard one-hour expiry. No content is returned in the response.
- **get_single_hashicorpterraformcloud_plan_by_id** — Get information about a specific plan in Hashicorp Terraform Cloud. Requires id. Returns plan id, status, execution details, resource changes, change log, timestamps, and related links in the response.
- **list_all_hashicorpterraformcloud_json_execution_plans** — Retrieve the JSON execution plan in Hashicorp Terraform Cloud. Requires plan_id. Returns a temporary redirect URL for the JSON formatted execution plan, valid for 1 minute, and supports plans using Terraform 0.12 and later.
- **list_all_hashicorpterraformcloud_organization_policies** — List policies in Hashicorp Terraform Cloud for a specific organization_name. Returns fields such as id, name, description, enforcement-level, policy-set-count, kind, updated-at, and links for each policy.
- **create_a_hashicorpterraformcloud_organization_policy** — Create an organization-policies resource in Hashicorp Terraform Cloud. Requires organization_name. Returns id, type, attributes (name, description, kind, enforcement-level, enforce, query, policy-set-count, updated-at), relationships (organization, policy-sets), and links (self, upload) in the response.
- **get_single_hashicorpterraformcloud_organization_policy_by_id** — Get details about a specific organization-policies in Hashicorp Terraform Cloud. Requires id. Returns fields such as name, description, kind, enforcement-level, enforce details, policy-set-count, updated-at, organization and policy-set relationships, and relevant links.
- **update_a_hashicorpterraformcloud_organization_policy_by_id** — Update an organization policy in Hashicorp Terraform Cloud using id. Returns the updated policy's id, type, description, query, and enforcement-level fields in the response.
- **delete_a_hashicorpterraformcloud_organization_policy_by_id** — Delete an organization policy in Hashicorp Terraform Cloud. Requires id. No content is returned in the response.
- **list_all_hashicorpterraformcloud_policy_checks** — List policy checks in a run in Hashicorp Terraform Cloud. Requires run_id. Returns id, type, attributes (including result, status, and actions), relationships, and links for each policy check.
- **get_single_hashicorpterraformcloud_policy_check_by_id** — Get details about a specific policy check in Hashicorp Terraform Cloud by id. Returns id, attributes such as result, scope, status, actions, permissions, relationships, and links in the response.
- **hashicorpterraformcloud_policy_checks_override** — Override a soft-mandatory or warning policy for a specific policy-check in Hashicorp Terraform Cloud. Requires id. Returns result details, scope, status, status-timestamps, actions, permissions, and output link in the response.
- **list_all_hashicorpterraformcloud_policy_evaluations** — List policy evaluations for a specific task stage in Hashicorp Terraform Cloud. Requires task_stage_id. Returns policy evaluation id, status, policy-kind, policy-tool-version, result-count, timestamps, and related relationships.
- **list_all_hashicorpterraformcloud_policy_outcomes** — List policy set outcomes for a specific policy evaluation in Hashicorp Terraform Cloud. Requires policy_evaluation_id. Returns id, outcomes, policy-set-name, error, overridable, result-count, and related policy evaluation details in the response.
- **get_single_hashicorpterraformcloud_policy_outcome_by_id** — Get a policy outcome in Hashicorp Terraform Cloud. Requires id. Returns fields such as outcomes (policy results), error, overridable status, policy-set-name, policy-tool-version, result-count, and linked policy-evaluation.
- **list_all_hashicorpterraformcloud_policy_sets** — List policy-sets in Hashicorp Terraform Cloud for a specific organization_name. Returns each policy-set's id, name, description, kind, versioned status, workspace-count, vcs-repo settings, timestamps, relationships, and self link.
- **create_a_hashicorpterraformcloud_policy_set** — Create a policy set in Hashicorp Terraform Cloud for a specific organization using organization_name. Returns id, type, attributes (name, description, kind, global, agent-enabled, policy-tool-version, overridable, workspace-count, policy-count, created-at, updated-at), relationships (organization, projects, policies, workspaces, workspace-exclusions), and links.self in the response.
- **get_single_hashicorpterraformcloud_policy_set_by_id** — Get details about a specific policy set in Hashicorp Terraform Cloud using id. Returns fields such as name, description, kind, policy count, workspace count, vcs-repo details, and related relationships.
- **update_a_hashicorpterraformcloud_policy_set_by_id** — Update a specific policy set in Hashicorp Terraform Cloud. Requires id. Returns id, type, attributes (name, description, global, kind, agent-enabled, policy-tool-version, overridable, policy-count, workspace-count, versioned, created-at, updated-at), relationships, and links.self in the response.
- **hashicorpterraformcloud_policy_sets_add_policies** — Add policies to a specific policy set in Hashicorp Terraform Cloud. Requires policy_set_id. Returns the list of added policies and their identifiers in the response.
- **hashicorpterraformcloud_policy_sets_attach_to_projects** — Attach a policy set to projects in Hashicorp Terraform Cloud using policy_set_id. Returns updated policy set-project relationships.
- **hashicorpterraformcloud_policy_sets_attach_to_workspaces** — Attach a policy set to specified workspaces in Hashicorp Terraform Cloud. Requires policy_set_id. Returns attached workspace ids and types in the response.
- **hashicorpterraformcloud_policy_sets_exclude_workspace** — Exclude workspaces from a specific policy set in Hashicorp Terraform Cloud. Requires policy_set_id. Returns confirmation of workspace exclusions applied to the policy set.
- **hashicorpterraformcloud_policy_sets_detach_from_projects** — Detach a policy set from specified projects in Hashicorp Terraform Cloud. Requires id. Returns details of the detached relationships.
- **hashicorpterraformcloud_policy_sets_detach_from_workspaces** — Detach a policy set from specified workspaces in Hashicorp Terraform Cloud. Requires policy_set_id. The request must include a list of workspaces to detach with their id and type. Returns status of detachment.
- **hashicorpterraformcloud_policy_sets_reinclude_workspace** — Reinclude specified workspaces to a policy set in Hashicorp Terraform Cloud. Requires id. Returns the updated policy set and workspace enforcement status fields in the response.
- **delete_a_hashicorpterraformcloud_policy_set_by_id** — Delete a specific policy set in Hashicorp Terraform Cloud using id. No content is returned in the response.
- **hashicorpterraformcloud_policy_sets_remove_policy_sets** — Remove policies from a specific policy set in Hashicorp Terraform Cloud. Requires id. No content is returned in the response.
- **get_single_hashicorpterraformcloud_policy_set_version_by_id** — Get a specific policy set version in Hashicorp Terraform Cloud. Requires id. Returns fields such as id, type, source, status, status-timestamps, error, created-at, updated-at, related policy-set, and links.
- **create_a_hashicorpterraformcloud_policy_set_version** — Create a new policy set version in Hashicorp Terraform Cloud for a specific policy set without VCS. Returns id, status, source, timestamps, and upload link for the version.
- **create_a_hashicorpterraformcloud_policy_set_parameter** — Create a parameter in Hashicorp Terraform Cloud policy set using policy_set_id. Returns id, type, key, value, sensitive, category, configurable relationship, and links in the response.
- **list_all_hashicorpterraformcloud_policy_set_parameters** — List parameters for a specific policy set in Hashicorp Terraform Cloud using policy_set_id. Returns a list of parameters with fields: id, type, key, value, sensitive, category, and configurable relationship.
- **update_a_hashicorpterraformcloud_policy_set_parameter_by_id** — Update a specific policy set parameter in Hashicorp Terraform Cloud. Requires policy_set_id and id. Returns the updated parameter fields, including key, value, category, and sensitive.
- **delete_a_hashicorpterraformcloud_policy_set_parameter_by_id** — Delete a specific policy-set-parameters resource in Hashicorp Terraform Cloud. Requires policy_set_id and id. No content is returned in the response.
- **list_all_hashicorpterraformcloud_registry_modules** — List registry-modules for an organization in Hashicorp Terraform Cloud. Requires organization_name. Returns id, type, attributes (name, namespace, provider, status, version-statuses, created-at, updated-at, registry-name, permissions), relationships, and links for each registry module.
- **create_a_hashicorpterraformcloud_registry_module** — Create a registry module with no VCS connection in Hashicorp Terraform Cloud. Requires organization_name. Returns id, name, namespace, provider, registry-name, status, version-statuses, created-at, updated-at, permissions, and module self link in the response.
- **update_a_hashicorpterraformcloud_registry_module_by_id** — Update a Private Registry Module in Hashicorp Terraform Cloud for a specific organization_name, namespace, name, and provider. Returns id, type, attributes including module details, vcs-repo information, permissions, test-config, relationships, and self link.
- **get_single_hashicorpterraformcloud_registry_module_by_id** — Get registry module in Hashicorp Terraform Cloud using organization_name, registry_name, namespace, name, and id. Returns id, name, provider, namespace, registry-name, status, version-statuses, created-at, updated-at, vcs-repo, permissions fields.
- **hashicorpterraformcloud_registry_modules_create_module_version** — Create a new module version in Hashicorp Terraform Cloud. Requires organization_name, registry_name, namespace, name, and provider. Returns id, version, and upload_url for the new registry module version.
- **hashicorpterraformcloud_module_versions_deprecate** — Deprecate a specific module version in Hashicorp Terraform Cloud. Requires organization_name, module_name, module_provider, and module_version. Returns module version id, deprecation relationship, and deprecation details including link and reason.
- **hashicorpterraformcloud_module_versions_revert_deprecation_status** — Revert deprecation status for a specific module version in Hashicorp Terraform Cloud. Requires organization_name, module_name, module_provider, and module_version. Returns type and id of the module version.
- **hashicorpterraformcloud_module_versions_revoke** — Revoke a module version in Hashicorp Terraform Cloud. Requires organization_name, module_name, module_provider, and module_version. Returns id, status, version, revocation details, creation and update timestamps, and related registry-module information in the response.
- **hashicorpterraformcloud_module_versions_revert_revocation_status** — Revert the revocation status for a module version in Hashicorp Terraform Cloud. Requires organization_name, module_name, module_provider, and module_version. Returns id, status, version, source, revocation status, registry-module relationship, and upload link.
- **hashicorpterraformcloud_module_versions_fetch_revocation_data** — Get details about a specific module version in Hashicorp Terraform Cloud. Returns id, type, attributes (including status, version, revocation info), relationships, and links. Requires organization_name, registry_name, namespace, name, and provider.
- **list_all_hashicorpterraformcloud_module_versions** — Get all versions of a specific module in Hashicorp Terraform Cloud by github_organization, module, and provider. Returns each version's version info and deprecation status, including reason and link fields if deprecated.
- **list_all_hashicorpterraformcloud_registry_providers** — List registry-providers for a specific organization in Hashicorp Terraform Cloud. Requires organization_name. Returns id, type, attributes (name, namespace, created-at, updated-at, registry-name, permissions), relationships, and links for each provider.
- **create_a_hashicorpterraformcloud_registry_provider** — Create a registry provider in Hashicorp Terraform Cloud within a specific organization using organization_name. Returns id, type, name, namespace, registry-name, created-at, updated-at, permissions, relationships, and links.
- **get_single_hashicorpterraformcloud_registry_provider_by_id** — Get a specific registry provider in Hashicorp Terraform Cloud. Requires organization_name, registry_name, namespace, and id. Returns id, name, namespace, created-at, updated-at, registry-name, permissions, relationships, and links in the response.
- **delete_a_hashicorpterraformcloud_registry_provider_by_id** — Delete a provider in Hashicorp Terraform Cloud registry using organization_name, registry_name, namespace, and id. Returns status of the deletion operation.
- **create_a_hashicorpterraformcloud_provider_version** — Create a provider version in Hashicorp Terraform Cloud. Requires organization_name, registry_name, namespace, and name. Returns id, version, created-at, updated-at, key-id, protocols, permissions, shasums-uploaded, shasums-sig-uploaded, relationships, and links.
- **list_all_hashicorpterraformcloud_provider_versions** — List provider-versions for a specific provider in Hashicorp Terraform Cloud. Requires organization_name, namespace, and name. Returns provider version details including id, version, created-at, updated-at, key-id, protocols, permissions, shasums-uploaded, shasums-sig-uploaded, platforms, and download links.
- **get_single_hashicorpterraformcloud_provider_version_by_id** — Get provider-versions in Hashicorp Terraform Cloud using organization_name, namespace, name, and id. Returns version, created-at, updated-at, key-id, protocols, permissions, shasums-uploaded, shasums-sig-uploaded, and related relationships.
- **delete_a_hashicorpterraformcloud_provider_version_by_id** — Delete a provider version in Hashicorp Terraform Cloud. Requires organization_name, registry_name, namespace, name, and id. No fields are returned in the response.
- **create_a_hashicorpterraformcloud_provider_platform** — Create a provider platform in Hashicorp Terraform Cloud. Requires organization_name, namespace, name, and version. Returns id, type, attributes (os, arch, filename, shasum, permissions, provider-binary-uploaded), relationships, and provider-binary-upload link in the response.
- **list_all_hashicorpterraformcloud_provider_platforms** — List all provider-platforms for a specific provider version in Hashicorp Terraform Cloud using organization_name, registry_name, namespace, name, and version. Returns id, os, arch, filename, shasum, permissions, provider-binary-uploaded, and provider-binary-download link for each platform.
- **get_single_hashicorpterraformcloud_provider_platform_by_id** — Get provider platform information in Hashicorp Terraform Cloud. Requires organization_name, registry_name, namespace, name, version, os, and id. Returns id, type, attributes (os, arch, filename, shasum, permissions, provider-binary-uploaded), relationships, and download links.
- **delete_a_hashicorpterraformcloud_provider_platform_by_id** — Delete a specific provider platform in Hashicorp Terraform Cloud using organization_name, registry_name, namespace, name, version, os, and id. Deletes the targeted platform. Returns no content in the response.
- **list_all_hashicorpterraformcloud_gpg_keys** — List GPG Keys in Hashicorp Terraform Cloud private registry using a required filter[namespace] parameter. Returns id, ascii-armor, key-id, namespace, created-at, updated-at, source, source-url, trust-signature for each key.
- **create_a_hashicorpterraformcloud_gpg_key** — Create a GPG key in Hashicorp Terraform Cloud private registry. Requires registry_name, type, namespace, and ascii-armor. Returns id, ascii-armor, created-at, key-id, namespace, source, source-url, trust-signature, updated-at, and links.self in the response.
- **get_single_hashicorpterraformcloud_gpg_key_by_id** — Get a GPG key in Hashicorp Terraform Cloud. Requires namespace and id. Returns type, id, ascii-armor, created-at, key-id, namespace, source, source-url, trust-signature, updated-at, and links.self.
- **update_a_hashicorpterraformcloud_gpg_key_by_id** — Update a specific gpg-keys resource in Hashicorp Terraform Cloud. Requires namespace, and id. Returns the updated gpg-keys fields including type and updated namespace.
- **delete_a_hashicorpterraformcloud_gpg_key_by_id** — Delete a GPG key in Hashicorp Terraform Cloud using namespace and id. No response content is returned on success.
- **create_a_hashicorpterraformcloud_test** — Create a test run for a private registry module in Hashicorp Terraform Cloud. Requires organization_name, namespace, name, and provider. Returns id, status, created-at, updated-at, variables, test-directory, filters, verbose, and related configuration-version and created-by information in the response.
- **hashicorpterraformcloud_tests_create_configuration_version** — Create a configuration version for a test in Hashicorp Terraform Cloud. Requires organization_name, namespace, name, and provider. Returns details about the newly created configuration version including its id and attributes.
- **list_all_hashicorpterraformcloud_tests** — List tests for a module in Hashicorp Terraform Cloud. Requires organization_name, namespace, name, and provider. Returns id, status, timestamps, log-read-url, test results, test status, and related configuration version and user fields.
- **get_single_hashicorpterraformcloud_test_by_id** — Get details about a specific test run in Hashicorp Terraform Cloud. Requires organization_name, namespace, name, provider, and id. Returns status, log-read-url, test-status, tests-passed, message, timestamps, and related configuration and user.
- **hashicorpterraformcloud_tests_cancel** — Cancel a test run in Hashicorp Terraform Cloud. Requires organization_name, namespace, name, provider, and id. Returns confirmation of the cancellation and status of the test run.
- **hashicorpterraformcloud_tests_forcefully_cancel** — Forcefully cancel a specific test in Hashicorp Terraform Cloud. Requires organization_name, namespace, name, provider, and test_run_id. Returns the test's new state and confirms immediate cancellation.
- **list_all_hashicorpterraformcloud_test_variables** — List test-variables for a module in Hashicorp Terraform Cloud. Requires organization_name, namespace, name, and provider. Returns id, key, value, sensitive, category, hcl, created-at, description, version-id, and self link for each variable.
- **update_a_hashicorpterraformcloud_test_variable_by_id** — Update a specific test variable for a module in Hashicorp Terraform Cloud. Requires organization_name, namespace, name, provider, and id. Returns id, type, and attributes including key, value, description, sensitive, category, and hcl.
- **delete_a_hashicorpterraformcloud_test_variable_by_id** — Delete a test variable for a private registry module in Hashicorp Terraform Cloud. Requires organization_name, namespace, name, provider, and id. Returns no content on success.
- **create_a_hashicorpterraformcloud_test_variable** — Create a test variable in Hashicorp Terraform Cloud for a specific module in an organization. Requires organization_name, namespace, name, and provider. Returns id, key, value, sensitive, category, created-at, description, version-id, and related links in the response.
- **list_all_hashicorpterraformcloud_project_tag_bindings** — List tag bindings for a project in Hashicorp Terraform Cloud. Requires project_id. Returns key, value, and created-at for each tag binding.
- **list_all_hashicorpterraformcloud_team_projects** — List team access to a project in Hashicorp Terraform Cloud. Requires filter[project][id] parameter. Returns id, access details, project-access, workspace-access, team and project relationship fields for each team-project access.
- **get_single_hashicorpterraformcloud_team_project_by_id** — Get a team-project access relationship in Hashicorp Terraform Cloud using id. Returns access level, project-access, workspace-access, related team and project ids, and relevant links in the response.
- **create_a_hashicorpterraformcloud_team_project** — Create team-projects access in Hashicorp Terraform Cloud. Returns id, access level, project and team relationships, and detailed access permissions for the assigned project and workspaces in the response.
- **update_a_hashicorpterraformcloud_team_project_by_id** — Update access for a specific team-project relationship in Hashicorp Terraform Cloud. Requires id. Returns the updated id, access type, and access attributes in the response.
- **delete_a_hashicorpterraformcloud_team_project_by_id** — Delete a specific team-project relationship in Hashicorp Terraform Cloud. Requires id. No fields are returned in the response.
- **list_all_hashicorpterraformcloud_reserved_tag_keys** — List reserved tag keys in Hashicorp Terraform Cloud for a specific organization_name. Returns id, key, disable-overrides, created-at, and updated-at fields for each reserved tag key.
- **create_a_hashicorpterraformcloud_reserved_tag_key** — Create a reserved tag key in Hashicorp Terraform Cloud for a specific organization using organization_name. Returns id, key, disable-overrides, created-at, and updated-at fields in the response.
- **update_a_hashicorpterraformcloud_reserved_tag_key_by_id** — Update reserved-tag-keys in Hashicorp Terraform Cloud. Requires id. Returns id, type, key, disable-overrides, created-at, and updated-at for the reserved-tag-keys.
- **delete_a_hashicorpterraformcloud_reserved_tag_key_by_id** — Delete a reserved tag key in Hashicorp Terraform Cloud. Requires id. No payload required. No content is returned in the response.
- **create_a_hashicorpterraformcloud_run** — Create a run in Hashicorp Terraform Cloud using the specified workspace id. Returns run id, status, created-at, message, permissions, and key run attributes such as auto-apply, plan-only, actions, and status timestamps.
- **hashicorpterraformcloud_runs_apply** — Apply a run in Hashicorp Terraform Cloud. Requires run_id. Queues a request to perform an apply for a run that is paused waiting for confirmation. No response body is returned.
- **list_all_hashicorpterraformcloud_runs** — List runs in a specific workspace in Hashicorp Terraform Cloud. Requires workspace_id. Returns id, created-at, status, message, permissions, and related resources for each run.
- **get_single_hashicorpterraformcloud_run_by_id** — Get details of a specific run in Hashicorp Terraform Cloud. Requires id. Returns id, status, message, has-changes, created-at, and workspace details in the response.
- **hashicorpterraformcloud_runs_discard** — Discard a specific run in Hashicorp Terraform Cloud using run_id. Completes the run and allows later runs to proceed. No response body is returned.
- **hashicorpterraformcloud_runs_cancel** — Cancel a specific run in Hashicorp Terraform Cloud. Requires run_id. This action interrupts a run that is currently planning or applying. No object is returned in the response.
- **hashicorpterraformcloud_runs_forcefully_cancel** — Forcefully cancel a specific run in Hashicorp Terraform Cloud. Requires run_id. Ends the run immediately, places it into a canceled state, and unlocks the workspace for further runs. No response body is returned.
- **hashicorpterraformcloud_runs_forcefully_execute** — Forcefully execute a run in Hashicorp Terraform Cloud. Requires run_id. This action cancels all incomplete prior runs, unlocks the workspace, and executes the specified run. No object is returned in the response.
- **create_a_hashicorpterraformcloud_run_trigger** — Create a run trigger in Hashicorp Terraform Cloud for the specified workspace_id. Returns id, workspace-name, sourceable-name, created-at, relationships for workspace and sourceable, and self link in the response.
- **list_all_hashicorpterraformcloud_run_triggers** — List run-triggers in Hashicorp Terraform Cloud for a workspace. Requires workspace_id and filter[run-trigger][type]. Returns id, type, attributes (workspace-name, sourceable-name, created-at), relationships (workspace, sourceable), and links for each run-trigger.
- **list_all_hashicorpterraformcloud_ssh_keys** — List SSH keys in Hashicorp Terraform Cloud for the specified organization_name. Returns each SSH key's id, name, self link, and type in the response.
- **get_single_hashicorpterraformcloud_ssh_key_by_id** — Get information about a specific SSH key in Hashicorp Terraform Cloud. Requires id. Returns id, name, type, and self link. This endpoint does not retrieve the key text and cannot be accessed with organization tokens.
- **create_a_hashicorpterraformcloud_ssh_key** — Create an SSH key in Hashicorp Terraform Cloud for a specific organization using organization_name. Returns id, name, links.self, and type fields in the response.
- **update_a_hashicorpterraformcloud_ssh_key_by_id** — Update an SSH key in Hashicorp Terraform Cloud using id. Returns name (the updated name of the SSH key), id (the SSH key identifier), links.self (API self-link), and type in the response.
- **delete_a_hashicorpterraformcloud_ssh_key_by_id** — Delete an SSH key in Hashicorp Terraform Cloud. Requires id. No content is returned in the response.
- **list_all_hashicorpterraformcloud_state_versions** — List state-versions in Hashicorp Terraform Cloud for a workspace and organization. Requires workspace_name and organization_name. Returns id, attributes (created-at, size, status, serial), relationships, and download URLs for each state-version.
- **get_single_hashicorpterraformcloud_state_version_by_id** — Get a state-version in Hashicorp Terraform Cloud. Requires id. Returns fields including id, type, created-at, size, status, serial, terraform-version, modules, providers, resources, vcs-commit-url, and relationships.
- **delete_a_hashicorpterraformcloud_state_version_by_id** — Permanently delete backing data for a specific state-versions in Hashicorp Terraform Cloud. Requires id. Returns fields such as created-at, size, status, resources, serial, terraform-version, vcs-commit-url, and workspace in the response. Only state-versions in backing_data_soft_deleted state and not the current state version can be deleted.
- **hashicorpterraformcloud_state_versions_roll_back** — Rollback state-versions in Hashicorp Terraform Cloud. Requires workspace_id and id of the state version to use for rollback. Returns id, created-at, size, hosted-state-download-url, resources, providers, serial, state-version, terraform-version.
- **hashicorpterraformcloud_state_versions_mark_for_garbage_collections** — Soft delete a specific state version in Hashicorp Terraform Cloud. Requires id. Returns state version fields including status, size, created-at, urls, delete-older-than-n-days, resources, providers, and key relationships. Only finalized, non-current state versions can be soft deleted.
- **hashicorpterraformcloud_state_versions_restore_state** — Restore a specific state version in Hashicorp Terraform Cloud using id. Returns fields such as id, type, attributes (including status, hosted-state-download-url, created-at, size), relationships, and links. Requires the state version to not be in backing_data_permanently_deleted state.
- **create_a_hashicorpterraformcloud_state_version** — Create a state version in Hashicorp Terraform Cloud for the specified workspace_id. Returns id, created-at, hosted-state-download-url, hosted-json-state-download-url, status, intermediate, serial, and self link. The workspace must be locked.
- **get_single_hashicorpterraformcloud_current_state_version_by_id** — Fetch the current state version for a workspace in Hashicorp Terraform Cloud. Requires workspace_id. Returns id, created-at, status, hosted-state-download-url, serial, resources, terraform-version, and vcs-commit-sha in the response.
- **list_all_hashicorpterraformcloud_state_version_outputs** — List state-version-outputs for a specific state_version_id in Hashicorp Terraform Cloud. Returns id, name, sensitive, type, value, detailed_type for each output.
- **get_single_hashicorpterraformcloud_state_version_output_by_id** — Get a specific state-version-outputs resource in Hashicorp Terraform Cloud using id. Returns fields id, name, sensitive, type, value, detailed-type, and self link in the response.
- **list_all_hashicorpterraformcloud_current_state_version_outputs** — Get current state version outputs for a workspace in Hashicorp Terraform Cloud. Requires workspace_id. Returns output id, name, sensitive, type, value, detailed-type, and self link. Sensitive values are returned as null and may be unavailable if still processing.
- **list_all_hashicorpterraformcloud_team_tokens** — List team tokens in Hashicorp Terraform Cloud for a given organization_id. Returns id, type, created-at, last-used-at, description, token (only on creation), expired-at, and relationships to team and created-by. Tokens cannot be recovered after creation.
- **get_single_hashicorpterraformcloud_team_token_by_id** — Get metadata about a specific team token in Hashicorp Terraform Cloud using id. Returns id, type, created-at, last-used-at, description, expired-at, team and created-by fields. Secret token text cannot be retrieved.
- **create_a_hashicorpterraformcloud_team_token** — Create a new team token in Hashicorp Terraform Cloud for the specified team_id. Returns id, created-at, last-used-at, description, token (only on creation), expired-at, as well as team and created-by relationship fields. The token value can only be accessed once upon creation.
- **delete_a_hashicorpterraformcloud_team_token_by_id** — Delete a team token in Hashicorp Terraform Cloud. Requires id. No response content on success.
- **list_all_hashicorpterraformcloud_user_tokens** — List user-tokens for a specific user in Hashicorp Terraform Cloud. Requires user_id. Returns each token's id, creation time, last use, description, expiry, and creator; token secrets are never returned.
- **get_single_hashicorpterraformcloud_user_token_by_id** — Get metadata about a specific user token in Hashicorp Terraform Cloud. Requires id. Returns fields: id, type, created-at, last-used-at, description, expired-at, and created-by for the token. Token value is not returned.
- **create_a_hashicorpterraformcloud_user_token** — Create a user token in Hashicorp Terraform Cloud. Requires user_id. Returns id, type, created-at, last-used-at, description, token, expired-at, and created-by fields in the response. Token is only shown once and cannot be recovered later.
- **delete_a_hashicorpterraformcloud_user_token_by_id** — Delete a user token in Hashicorp Terraform Cloud. Requires id. Only deletes tokens belonging to the authenticated user. Returns an empty response on success.
- **list_all_hashicorpterraformcloud_variables** — List variables in Hashicorp Terraform Cloud. Returns a list with id, key, value, description, sensitive, category, hcl, and relationships (workspace info) for each variable.
- **create_a_hashicorpterraformcloud_variable** — Create a variable in Hashicorp Terraform Cloud. Requires key, category, workspace id, and type in the request. Returns id, key, value, description, sensitive, category, hcl, and related configurable information.
- **update_a_hashicorpterraformcloud_variable_by_id** — Update a specific variable in Hashicorp Terraform Cloud. Requires id. Returns id, type, and attributes (key, value, description, sensitive, category, hcl) of the updated variable, along with configurable workspace relationship and self link.
- **delete_a_hashicorpterraformcloud_variable_by_id** — Delete a variable in Hashicorp Terraform Cloud. Requires id. No content is returned in the response.
- **list_all_hashicorpterraformcloud_variable_sets** — List all variable sets in Hashicorp Terraform Cloud for a given organization_name. Returns id, attributes (name, description, global, priority, updated-at, var-count, workspace-count, project-count), and relationships (organization, vars, workspaces, projects, parent) for each variable set.
- **get_single_hashicorpterraformcloud_variable_set_by_id** — Get details about a specific variable set in Hashicorp Terraform Cloud. Requires id. Returns name, description, global, priority, updated-at, var-count, workspace-count, project-count, and related organization, vars, workspaces, and projects.
- **create_a_hashicorpterraformcloud_variable_set** — Create a variable set in Hashicorp Terraform Cloud using organization_name. Returns id, name, description, global, priority, relationships (workspaces, projects, vars, parent) in the response.
- **update_a_hashicorpterraformcloud_variable_set_by_id** — Update a variable set in Hashicorp Terraform Cloud. Requires id. Returns the updated variable set fields including name, description, global, priority, relationships, and variable definitions. Cannot change parent organization or project.
- **delete_a_hashicorpterraformcloud_variable_set_by_id** — Delete a variable set in Hashicorp Terraform Cloud. Requires id. No content is returned in the response.
- **list_all_hashicorpterraformcloud_variable_set_variables** — List variables in a variable set in Hashicorp Terraform Cloud. Requires id. Returns id, key, value, sensitive, category, hcl, created-at, description fields for each variable in the response.
- **update_a_hashicorpterraformcloud_variable_set_variable_by_id** — Update a variable-set-variable in Hashicorp Terraform Cloud. Requires varset_id and id. Returns key fields such as key, value, description, sensitive, category, and hcl in the response.
- **delete_a_hashicorpterraformcloud_variable_set_variable_by_id** — Delete a variable from a variable set in Hashicorp Terraform Cloud. Requires varset_id and id. Returns an empty response on success.
- **list_all_hashicorpterraformcloud_vcs_events** — List VCS events in Hashicorp Terraform Cloud for the specified organization_name. Returns a list of VCS event objects including id, created-at, level, message, organization-id, and related oauth-client and oauth-token data.
- **list_all_hashicorpterraformcloud_workspace_variables** — List workspace-variables for a specific workspace in Hashicorp Terraform Cloud. Requires workspace_id. Returns id, key, value, description, sensitive, category, hcl, version-id, and related workspace information for each variable.
- **create_a_hashicorpterraformcloud_workspace_variable** — Create a workspace variable in Hashicorp Terraform Cloud. Requires workspace_id. Returns id, key, value, description, sensitive, category, hcl, version-id, and workspace relationship fields.
- **update_a_hashicorpterraformcloud_workspace_variable_by_id** — Update a specific workspace variable in Hashicorp Terraform Cloud using workspace_id and id. Returns id, type, key, value, description, sensitive, category, hcl, version-id, relationships, and self link in the response.
- **delete_a_hashicorpterraformcloud_workspace_variable_by_id** — Delete a specific workspace variable in Hashicorp Terraform Cloud. Requires workspace_id and id. No content is returned in the response.
- **list_all_hashicorpterraformcloud_workspace_team_access** — List team access to a workspace in Hashicorp Terraform Cloud. Requires workspace_id. Returns id, type, access levels, team and workspace relationships for each team access entry.
- **get_single_hashicorpterraformcloud_workspace_team_access_by_id** — Get a team/workspace access relationship in Hashicorp Terraform Cloud. Requires id. Returns id, access permissions (access, runs, variables, state-versions, etc.), related team and workspace, and workspace-locking status in the response.
- **create_a_hashicorpterraformcloud_workspace_team_access** — Create team access in Hashicorp Terraform Cloud workspace. Requires data.type, data.attributes.access, data.relationships.workspace.data.type, data.relationships.workspace.data.id, data.relationships.team.data.type, and data.relationships.team.data.id. Returns id, type, and attribute fields describing the created team-workspace access.
- **update_a_hashicorpterraformcloud_workspace_team_access_by_id** — Update workspace-team-access in Hashicorp Terraform Cloud using id. Returns access, runs, variables, state-versions, sentinel-mocks, workspace-locking, run-tasks, and related team and workspace relationship fields.
- **delete_a_hashicorpterraformcloud_workspace_team_access_by_id** — Delete workspace-team-access in Hashicorp Terraform Cloud. Requires id. No content is returned in the response.
- **list_all_hashicorpterraformcloud_workspace_resources** — List workspace-resources in Hashicorp Terraform Cloud for a specific workspace_id. Returns an array with id, type, and key attributes such as address, name, created-at, updated-at, module, provider, provider-type, and modified-by-state-version-id for each resource.
- **list_all_hashicorpterraformcloud_remote_state_consumers** — List remote state consumers for a workspace in Hashicorp Terraform Cloud. Requires workspace_id. Returns remote workspace details such as id, type, name, execution-mode, permissions, created-at, and related links.
- **create_a_hashicorpterraformcloud_remote_state_consumer** — Add one or more remote state consumers to a workspace in Hashicorp Terraform Cloud. Requires workspace_id. Returns id and type for each consumer added. Workspace cannot add itself as a consumer and global-remote-state must be false.
- **delete_a_hashicorpterraformcloud_remote_state_consumer_by_id** — Delete remote state consumers from a workspace in Hashicorp Terraform Cloud. Requires workspace_id and a list of data objects with id and type fields. Returns no content in the response.
- **update_a_hashicorpterraformcloud_remote_state_consumer_by_id** — Replace remote state consumers for a workspace in Hashicorp Terraform Cloud. Requires workspace_id and a list of workspaces with their id and type in the payload. Returns the updated remote state consumer workspace ids.
- **list_all_hashicorpterraformcloud_workspace_tags** — List workspace-tags for a specific workspace in Hashicorp Terraform Cloud. Requires workspace_id. Returns id, name, created-at, instance-count, and related organization fields for each tag.
- **delete_a_hashicorpterraformcloud_workspace_tag_by_id** — Remove one or more tags from a workspace in Hashicorp Terraform Cloud. Requires id. Returns a success response if tags with the specified type and id or attributes.name are removed.
- **create_a_hashicorpterraformcloud_workspace_tag** — Add flat string tags to a workspace in Hashicorp Terraform Cloud. Requires workspace_id. Returns details about the added tags including type and either id or attributes.name for each tag.
- **list_all_hashicorpterraformcloud_workspace_tag_bindings** — List key-value tags directly bound to a workspace in Hashicorp Terraform Cloud. Requires workspace_id. Returns id, key, value, and created-at for each tag-binding.
- **create_a_hashicorpterraformcloud_workspace_tag_binding** — Add or update tag bindings on a specific workspace in Hashicorp Terraform Cloud. Requires id. Returns details for each added or updated tag, including key and value fields.
- **get_single_hashicorpterraformcloud_data_retention_policy_by_id** — Get the data retention policy for a specific workspace in Hashicorp Terraform Cloud. Requires workspace_id. Returns id, attributes, and other policy details in the response.
- **create_a_hashicorpterraformcloud_data_retention_policy** — Create or update data retention policy in Hashicorp Terraform Cloud for a workspace. Requires workspace_id. Returns the created or updated data retention policy fields for the workspace.
- **delete_a_hashicorpterraformcloud_data_retention_policy_by_id** — Delete the data-retention-policy for a workspace in Hashicorp Terraform Cloud. Requires workspace_id. Response returns the default organization policy if no policy is set for the workspace.
- **create_a_hashicorpterraformcloud_variable_set_workspace** — Apply a variable set to workspaces in Hashicorp Terraform Cloud. Requires id. Returns the applied workspaces' id and type in the response.
- **delete_a_hashicorpterraformcloud_variable_set_workspace_by_id** — Remove a variable set from multiple workspaces in Hashicorp Terraform Cloud. Requires id. Returns status of the removal operation.
- **create_a_hashicorpterraformcloud_variable_set_project** — Apply a variable set to multiple projects in Hashicorp Terraform Cloud using id. Returns data array with project ids and type for each project the variable set was applied to.
- **delete_a_hashicorpterraformcloud_variable_set_project_by_id** — Remove a variable set from specified projects in Hashicorp Terraform Cloud. Requires id of the variable set and a list of project ids. Returns confirmation of the removal operation.
- **create_a_hashicorpterraformcloud_team_user** — Add user(s) to a team in Hashicorp Terraform Cloud. Requires team_id and user id(s). Returns user id and type fields for users added.
- **delete_a_hashicorpterraformcloud_team_user_by_id** — Delete users from a team in Hashicorp Terraform Cloud. Requires id (team ID). Returns success if users are removed from the specified team. This does not delete the users overall.
- **create_a_hashicorpterraformcloud_team_organization_membership** — Add multiple users to a team in Hashicorp Terraform Cloud using organization membership IDs. Requires team id. Returns added relationship information for each organization membership.
- **delete_a_hashicorpterraformcloud_team_organization_membership_by_id** — Delete organization-membership users from a team in Hashicorp Terraform Cloud. Requires team_id. Returns nothing upon successful removal of users identified by ids.
- **get_single_hashicorpterraformcloud_organization_subscription_by_id** — Get subscription details for an organization in Hashicorp Terraform Cloud. Requires organization_name. Returns id, is-active, start-at, end-at, is-public-free-tier, agents-ceiling, and related organization, billing-account, and feature-set links in the response.
- **get_single_hashicorpterraformcloud_subscription_by_id** — Get details about a subscription in Hashicorp Terraform Cloud. Requires id. Returns fields such as id, type, end-at, is-active, start-at, runs-ceiling, associated organization, feature-set, and billing-account.

## How it works

1. **Link your customer's Hashicorp Terraform Cloud account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Hashicorp Terraform Cloud.** The Proxy API is a 1-to-1 mapping of the Hashicorp Terraform Cloud API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Automate infrastructure provisioning from your developer platform** — SaaS companies building internal developer portals or platform engineering tools can let users spin up Terraform Cloud workspaces, inject variables, and trigger runs directly from their product — giving developers self-service infrastructure without leaving the platform.
- **Enforce security policies on infrastructure changes before they deploy** — Cloud security and compliance SaaS products can pull JSON execution plans and policy check results from Terraform Cloud to scan for misconfigurations, then programmatically block or approve runs based on their own security rules.
- **Sync team and user access across your product and Terraform Cloud** — Identity governance and access management platforms can use Truto's Unified User Directory API to synchronize organizations, teams, and user memberships between their directory and Terraform Cloud, ensuring consistent role-based access to infrastructure workspaces.
- **Build approval workflows around infrastructure deployments** — ITSM and workflow automation tools can monitor Terraform Cloud runs after the plan phase, gate the apply step on external approvals or ticket resolution, and then programmatically apply or discard runs via the API.
- **Surface infrastructure state and outputs in your product** — Monitoring, observability, or asset management SaaS products can read current state versions and outputs from Terraform Cloud workspaces to automatically discover deployed resources, connection strings, and IP addresses without manual input from users.

## What you can build

- **One-click workspace provisioning with variable injection** — Let users create Terraform Cloud workspaces, attach variable sets, and set workspace-specific variables directly from your UI to stand up isolated environments on demand.
- **Run lifecycle dashboard with apply/discard controls** — Display active Terraform Cloud runs with real-time status, and give users the ability to apply, discard, cancel, or force-cancel runs from within your product.
- **Automated team and membership sync via Unified User Directory** — Map your product's user groups to Terraform Cloud teams and organization memberships using Truto's Unified User Directory API, keeping access permissions in sync automatically.
- **Pre-deploy security scan using JSON execution plans** — Fetch JSON execution plans from Terraform Cloud runs, analyze them against your security ruleset, and post automated run comments explaining any violations before infrastructure is applied.
- **Infrastructure output auto-discovery** — Read current state version outputs — such as load balancer URLs, database endpoints, and API keys — from Terraform Cloud workspaces and pipe them into your product's configuration or monitoring layers.
- **Policy check and audit trail reporting** — Aggregate policy evaluation outcomes and audit trail events from Terraform Cloud into a unified compliance dashboard within your product for governance reporting.

## FAQs

### What authentication methods does the Terraform Cloud integration support?

Terraform Cloud uses API tokens for authentication — user tokens, team tokens, and organization tokens. Truto handles token management so your end users can securely connect their Terraform Cloud accounts without you building custom auth flows.

### Can I manage workspaces across multiple Terraform Cloud organizations?

Yes. The integration supports listing, creating, updating, and deleting organizations, as well as full workspace CRUD within each organization. You can also move workspaces between projects using the move workspace into project endpoint.

### What Unified APIs are available for Terraform Cloud?

Truto provides a Unified User Directory API that maps Terraform Cloud concepts — organizations, teams, users, and workspaces — to standardized Groups, Organizations, Users, and Workspaces resources, making it easy to sync access across multiple integrations.

### Can I control the full run lifecycle through the integration?

Yes. You can create runs, monitor their status, and then apply, discard, cancel, or force-cancel them. You can also force-execute pending runs and add comments to runs for audit or communication purposes.

### How do I handle pagination when listing resources like workspaces or runs?

Truto automatically handles Terraform Cloud's pagination for list endpoints — including workspaces, runs, variables, teams, and state versions — so you receive complete result sets without managing page tokens or offsets yourself.

### Can I read Terraform state and plan outputs through this integration?

Yes. You can fetch the current state version for a workspace, list state version outputs, retrieve JSON execution plans, and access assessment result JSON output — giving you full visibility into what Terraform has deployed or is about to deploy.
