openapi: 3.0.0
info:
  title: Terraform
  description: >-
    Terraform Cloud is an application that helps teams use Terraform together. It manages Terraform runs in a consistent and reliable environment, and includes easy access to shared state and secret data, access controls for approving changes to infrastructure, a private registry for sharing Terraform modules, detailed policy controls for governing the contents of Terraform configurations, and more.


    Terraform Cloud is available as a hosted service at https://app.terraform.io. We offer free accounts for small teams, and paid plans with additional feature sets for medium-sized businesses.


    Large enterprises can purchase Terraform Enterprise, our self-hosted distribution of Terraform Cloud. It offers enterprises a private instance of the Terraform Cloud application, with no resource limits and with additional enterprise-grade architectural features like audit logging and SAML single sign-on.
  contact:
    email: apiteam@swagger.io
  version: 'v2'
servers:
- url: https://app.terraform.io/api
  variables: {}
- url: http://app.terraform.io/api
  variables: {}
paths:
  /account/details:
    get:
      tags:
      - Account
      summary: GET
      description: Get account details.
      operationId: GET
      parameters: []
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /account/update:
    patch:
      tags:
      - Account
      summary: updateAccount
      description: Update account details
      operationId: updateAccount
      parameters: []
      requestBody:
        description: JSON body for update
        content:
          text/plain:
            schema:
              type: string
              description: JSON body for update
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /account/password:
    patch:
      tags:
      - Account
      summary: changePassword
      description: Change your password
      operationId: changePassword
      parameters: []
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /applies/{id}:
    get:
      tags:
      - Applies
      summary: getApply
      description: Show an apply
      operationId: getApply
      parameters:
      - name: id
        in: path
        description: The ID of the apply to show.
        required: true
        style: simple
        schema:
          type: object
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /cost-estimates/{id}:
    get:
      tags:
      - CostEstimates
      summary: getCostEstimate
      description: Show a cost estimate
      operationId: getCostEstimate
      parameters:
      - name: id
        in: path
        description: The ID of the cost estimate to show..
        required: true
        style: simple
        schema:
          type: object
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /workspaces/{workspace_id}/notification-configurations:
    post:
      tags:
      - NotificationConfigurations
      summary: createNotificationConfiguration
      description: Create a Notification Configuration
      operationId: createNotificationConfiguration
      parameters:
      - name: workspace_id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    get:
      tags:
      - NotificationConfigurations
      summary: listNotificationConfigurations
      description: List all notification configurations
      operationId: listNotificationConfigurations
      parameters:
      - name: workspace_id
        in: path
        description: The ID of the workspace to list configurations from. Obtain this from the workspace settings or the Show Workspace endpoint.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /notification-configurations/{notification-configuration-id}:
    get:
      tags:
      - NotificationConfigurations
      summary: getNotificationConfiguration
      description: Get details for a notification configuration
      operationId: getNotificationConfiguration
      parameters:
      - name: notification-configuration-id
        in: path
        description: The id of the notification configuration to show.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    patch:
      tags:
      - NotificationConfigurations
      summary: updateNotificationConfiguration
      description: Update a notification configuration
      operationId: updateNotificationConfiguration
      parameters:
      - name: notification-configuration-id
        in: path
        description: The id of the notification configuration to update.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - NotificationConfigurations
      summary: deleteNotificationConfiguration
      description: This endpoint deletes a notification configuration.
      operationId: deleteNotificationConfiguration
      parameters:
      - name: notification-configuration-id
        in: path
        description: The id of the notification configuration to delete.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /notification-configurations/{notification-configuration-id}/actions/verify:
    post:
      tags:
      - NotificationConfigurations
      summary: verifyNotificationConfiguration
      description: This will cause Terraform Cloud to send a verification request for the specified configuration. If a response is received, it will be stored and returned in the delivery-responses attribute. More details in the Notification Verification and Delivery Responses section above.
      operationId: verifyNotificationConfiguration
      parameters:
      - name: notification-configuration-id
        in: path
        description: The id of the notification configuration to verify.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /organizations/{organization_name}/oauth-clients:
    get:
      tags:
      - OAuthClients
      summary: listOauthClients
      description: This endpoint allows you to list VCS connections between an organization and a VCS provider (GitHub, Bitbucket, or GitLab) for use when creating or setting up workspaces.
      operationId: listOauthClients
      parameters:
      - name: organization_name
        in: path
        description: The name of the organization.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    post:
      tags:
      - OAuthClients
      summary: createOAuthClient
      description: Create an OAuth Client
      operationId: createOAuthClient
      parameters:
      - name: organization_name
        in: path
        description: The name of the organization that will be connected to the VCS provider. The organization must already exist in the system, and the user must have permissions to initiate the connection.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /oauth-clients/{id}:
    get:
      tags:
      - OAuthClients
      summary: showOAuthClient
      description: Show an OAuth Client
      operationId: showOAuthClient
      parameters:
      - name: id
        in: path
        description: The ID of the OAuth Client to show
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    patch:
      tags:
      - OAuthClients
      summary: updateOAuthClient
      description: Update an OAuth Client
      operationId: updateOAuthClient
      parameters:
      - name: id
        in: path
        description: The ID of the OAuth Client to update.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - OAuthClients
      summary: destroyOAuthClient
      description: Destroy an OAuth Client
      operationId: destroyOAuthClient
      parameters:
      - name: id
        in: path
        description: The ID of the OAuth Client to destroy
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /oauth-clients/{oauth_client_id}/oauth-tokens:
    get:
      tags:
      - OAuthTokens
      summary: listOAuthTokens
      description: List all the OAuth Tokens for a given OAuth Client
      operationId: listOAuthTokens
      parameters:
      - name: oauth_client_id
        in: path
        description: The ID of the OAuth Client
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /oauth-tokens/{id}:
    get:
      tags:
      - OAuthTokens
      summary: showOAuthToken
      description: Show an OAuth Token
      operationId: showOAuthToken
      parameters:
      - name: id
        in: path
        description: The ID of the OAuth token to show
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    patch:
      tags:
      - OAuthTokens
      summary: updateOAuthToken
      description: Update an OAuth Token
      operationId: updateOAuthToken
      parameters:
      - name: id
        in: path
        description: The ID of the OAuth token to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - OAuthTokens
      summary: destroyOAuthToken
      description: Destroy an OAuth Token
      operationId: destroyOAuthToken
      parameters:
      - name: id
        in: path
        description: The ID of the OAuth Token to destroy
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /organizations:
    get:
      tags:
      - Organizations
      summary: listOrganizations
      description: List the organizations
      operationId: listOrganizations
      parameters: []
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /organizations/{organization_name}:
    get:
      tags:
      - Organizations
      summary: getOrganization
      description: Get an organization
      operationId: getOrganization
      parameters:
      - name: organization_name
        in: path
        description: The name of the organization to show
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /organizations/{organization_name}/organization-memberships:
    post:
      tags:
      - OrganizationMemberships
      summary: InviteUserToOrganization
      description: Invite a User to an Organization
      operationId: InviteUserToOrganization
      parameters:
      - name: organization_name
        in: path
        description: The name of the organization the user will be invited to join. The inviting user must have permission to manage organization memberships
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    get:
      tags:
      - OrganizationMemberships
      summary: listMembershipsOrganization
      description: List Memberships for an Organization
      operationId: listMembershipsOrganization
      parameters:
      - name: organization_name
        in: path
        description: The name of the organization to list the memberships of.
        required: true
        style: simple
        schema:
          type: string
      - name: q
        in: query
        description: Optional. A search query string. Organization memberships are searchable by user name and email.
        style: form
        explode: true
        schema:
          type: string
      - name: filter[status]
        in: query
        description: Optional. If specified, restricts results to those with the matching status value. Valid values are invited and active.
        style: form
        explode: true
        schema:
          type: string
      - name: page[number]
        in: query
        description: Optional. If omitted, the endpoint will return the first page.
        style: form
        explode: true
        schema:
          type: string
      - name: page[size]
        in: query
        description: Optional. If omitted, the endpoint will return 20 users per page.
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /organization-memberships:
    get:
      tags:
      - OrganizationMemberships
      summary: listUserOwnMemberships
      description: List User's Own Memberships
      operationId: listUserOwnMemberships
      parameters: []
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /organization-memberships/{organization_membership_id}:
    get:
      tags:
      - OrganizationMemberships
      summary: showMembership
      description: Show a Membership
      operationId: showMembership
      parameters:
      - name: organization_membership_id
        in: path
        description: The organization membership
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - OrganizationMemberships
      summary: removeUserFromOrganization
      description: Remove User from Organization
      operationId: removeUserFromOrganization
      parameters:
      - name: organization_membership_id
        in: path
        description: The organization membership
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /organizations/{organization_name}/authentication-token:
    post:
      tags:
      - OrganizationToken
      summary: generateOrganizationToken
      description: Generate a new organization token
      operationId: generateOrganizationToken
      parameters:
      - name: organization_name
        in: path
        description: The name of the organization to generate a token for.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - OrganizationToken
      summary: deleteOrganizationToken
      description: Delete the organization token
      operationId: deleteOrganizationToken
      parameters:
      - name: organization_name
        in: path
        description: Which organization's token should be deleted.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /plan-exports:
    post:
      tags:
      - PlanExports
      summary: createPlanExport
      description: This endpoint exports data from a plan in the specified format. The export process is asynchronous, and the resulting data becomes downloadable when its status is "finished". The data is then available for one hour before expiring. After the hour is up, a new export can be created.
      operationId: createPlanExport
      parameters: []
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /plan-exports/{id}:
    get:
      tags:
      - PlanExports
      summary: showPlanExport
      description: Show a plan export
      operationId: showPlanExport
      parameters:
      - name: id
        in: path
        description: The ID of the plan export to show.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - PlanExports
      summary: Deleteexportedplandata
      description: Plan exports expire after being available for one hour, but they can be deleted manually as well.
      operationId: Deleteexportedplandata
      parameters:
      - name: id
        in: path
        description: The ID of the plan export
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /plan-exports/{id}/download:
    get:
      tags:
      - PlanExports
      summary: downloadPlanExport
      description: This endpoint generates a temporary URL to the location of the exported plan data in a .tar.gz archive, and then redirects to that link. If using a client that can follow redirects, you can use this endpoint to save the .tar.gz archive locally without needing to save the temporary URL.
      operationId: downloadPlanExport
      parameters:
      - name: id
        in: path
        description: The ID of the plan export.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /plans/{id}:
    get:
      tags:
      - Plans
      summary: showPlan
      description: Show a plan
      operationId: showPlan
      parameters:
      - name: id
        in: path
        description: The ID of the plan to show
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /organizations/{organization_name}/policies:
    post:
      tags:
      - Policies
      summary: createPolicy
      description: Create a Policy
      operationId: createPolicy
      parameters:
      - name: organization_name
        in: path
        description: The organization to create the policy in. The organization must already exist in the system, and the token authenticating the API request must belong to the "owners" team or a member of the "owners" team.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    get:
      tags:
      - Policies
      summary: listPolicies
      description: List Policies
      operationId: listPolicies
      parameters:
      - name: organization_name
        in: path
        description: The organization to list policies for.
        required: true
        style: simple
        schema:
          type: string
      - name: page[number]
        in: query
        description: Optional. If omitted, the endpoint will return the first page.
        style: form
        explode: true
        schema:
          type: string
      - name: page[size]
        in: query
        description: Optional. If omitted, the endpoint will return 20 policies per page.
        style: form
        explode: true
        schema:
          type: string
      - name: search[name]
        in: query
        description: Optional. Allows searching the organization's policies by name.
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /policies/{policy_id}:
    get:
      tags:
      - Policies
      summary: showPolicy
      description: Show a Policy
      operationId: showPolicy
      parameters:
      - name: policy_id
        in: path
        description: The ID of the policy to show. Use the "List Policies" endpoint to find IDs.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    patch:
      tags:
      - Policies
      summary: updatePolicy
      description: This endpoint can update the enforcement mode of an existing policy. To update the policy code itself, use the upload endpoint.
      operationId: updatePolicy
      parameters:
      - name: policy_id
        in: path
        description: The ID of the policy to update. Use the "List Policies" endpoint to find IDs.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - Policies
      summary: deletePolicy
      description: Delete a Policy
      operationId: deletePolicy
      parameters:
      - name: policy_id
        in: path
        description: The ID of the policy to delete. Use the "List Policies" endpoint to find IDs.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /policies/{policy_id}/upload:
    put:
      tags:
      - Policies
      summary: uploadPolicy
      description: Upload a Policy
      operationId: uploadPolicy
      parameters:
      - name: policy_id
        in: path
        description: The ID of the policy to upload code to. Use the "List Policies" endpoint (or the response to a "Create Policy" request) to find IDs.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /runs/{run_id}/policy-checks:
    get:
      tags:
      - PolicyChecks
      summary: listPolicyChecks
      description: This endpoint lists the policy checks in a run.
      operationId: listPolicyChecks
      parameters:
      - name: run_id
        in: path
        description: specifies the run ID for which to list policy checks
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /policy-checks/{policy_check_id}/actions/override:
    post:
      tags:
      - PolicyChecks
      summary: overridePolicy
      description: This endpoint overrides a soft-mandatory or warning policy.
      operationId: overridePolicy
      parameters:
      - name: policy_check_id
        in: path
        description: specifies the ID for the policy check to override
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /organizations/{organization_name}/policy-sets:
    post:
      tags:
      - PolicySets
      summary: createPolicySet
      description: Create a Policy Set
      operationId: createPolicySet
      parameters:
      - name: organization_name
        in: path
        description: The organization to create the policy set in. The organization must already exist in the system, and the token authenticating the API request must belong to the "owners" team or a member of the "owners" team.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    get:
      tags:
      - PolicySets
      summary: listPolicySets
      description: List Policy Sets
      operationId: listPolicySets
      parameters:
      - name: organization_name
        in: path
        description: The organization to list policy sets for.
        required: true
        style: simple
        schema:
          type: string
      - name: filter[versioned]
        in: query
        description: Optional. Allows filtering policy sets based on whether they are versioned (VCS-managed or API-managed), or use individual policy relationships. Accepts a boolean true/false value. A true value returns versioned sets, and a false value returns sets with individual policy relationships. If omitted, all policy sets are returned.
        style: form
        explode: true
        schema:
          type: string
      - name: include
        in: query
        description: Optional. Allows including related resource data. Value must be a comma-separated list containing one or more of workspaces, policies, newest_version, or current_version. See the relationships section for details.
        style: form
        explode: true
        schema:
          type: string
      - name: page[number]
        in: query
        description: Optional. If omitted, the endpoint will return the first page.
        style: form
        explode: true
        schema:
          type: string
      - name: page[size]
        in: query
        description: Optional. If omitted, the endpoint will return 20 policy sets per page.
        style: form
        explode: true
        schema:
          type: string
      - name: search[name]
        in: query
        description: Optional. Allows searching the organization's policy sets by name.
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /policy-sets/{id}:
    get:
      tags:
      - PolicySets
      summary: showPolicySet
      description: Show a Policy Set
      operationId: showPolicySet
      parameters:
      - name: id
        in: path
        description: The ID of the policy set to show. Use the "List Policy Sets" endpoint to find IDs.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    patch:
      tags:
      - PolicySets
      summary: updatePolicySet
      description: Update a Policy Set
      operationId: updatePolicySet
      parameters:
      - name: id
        in: path
        description: The ID of the policy set to update. Use the "List Policy Sets" endpoint to find IDs.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - PolicySets
      summary: deletePolicySet
      description: Delete a Policy Set
      operationId: deletePolicySet
      parameters:
      - name: id
        in: path
        description: The ID of the policy set to delete. Use the "List Policy Sets" endpoint to find IDs.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /policy-sets/{id}/relationships/policies:
    post:
      tags:
      - PolicySets
      summary: addPoliciesToPolicySet
      description: Add Policies to the Policy Set
      operationId: addPoliciesToPolicySet
      parameters:
      - name: id
        in: path
        description: The ID of the policy set to add policies to. Use the "List Policy Sets" endpoint to find IDs.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - PolicySets
      summary: removePoliciesFromThePolicySet
      description: Remove Policies from the Policy Set
      operationId: removePoliciesFromThePolicySet
      parameters:
      - name: id
        in: path
        description: The ID of the policy set to remove policies from. Use the "List Policy Sets" endpoint to find IDs.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /policy-sets/{id}/relationships/workspaces:
    post:
      tags:
      - PolicySets
      summary: attachPolicySetToWorkspaces
      description: Attach a Policy Set to workspaces
      operationId: attachPolicySetToWorkspaces
      parameters:
      - name: id
        in: path
        description: The ID of the policy set to attach to workspaces. Use the "List Policy Sets" endpoint to find IDs.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - PolicySets
      summary: detachthePolicySetFromWorkspaces
      description: Detach the Policy Set from workspaces
      operationId: detachthePolicySetFromWorkspaces
      parameters:
      - name: id
        in: path
        description: The ID of the policy set to detach from workspaces. Use the "List Policy Sets" endpoint to find IDs.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /policy-sets/{id}/versions:
    post:
      tags:
      - PolicySets
      summary: createPolicySetVersion
      description: For versioned policy sets which have no VCS repository attached, versions of policy code may be uploaded directly to the API by creating a new policy set version and, in a subsequent request, uploading a tarball (tar.gz) of data to it.
      operationId: createPolicySetVersion
      parameters:
      - name: id
        in: path
        description: The ID of the policy set to create a new version for.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /policy-set-versions/{id}:
    get:
      tags:
      - PolicySets
      summary: showPolicySetVersion
      description: Show a Policy Set Version
      operationId: showPolicySetVersion
      parameters:
      - name: id
        in: path
        description: The ID of the policy set version to show.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /policy-sets/{policy_set_id}/parameters:
    post:
      tags:
      - PolicySetParameters
      summary: createParameter
      description: Create a Parameter
      operationId: createParameter
      parameters:
      - name: policy_set_id
        in: path
        description: The ID of the policy set to create the parameter in.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    get:
      tags:
      - PolicySetParameters
      summary: listParameters
      description: List Parameters
      operationId: listParameters
      parameters:
      - name: policy_set_id
        in: path
        description: The ID of the policy set to list parameters for.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /policy-sets/{policy_set_id}/parameters/{parameter_id}:
    patch:
      tags:
      - PolicySetParameters
      summary: updateParameters
      description: Update Parameters
      operationId: updateParameters
      parameters:
      - name: policy_set_id
        in: path
        description: The ID of the policy set that owns the parameter.
        required: true
        style: simple
        schema:
          type: string
      - name: parameter_id
        in: path
        description: The ID of the parameter to be updated.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - PolicySetParameters
      summary: deleteParameters
      description: Delete Parameters
      operationId: deleteParameters
      parameters:
      - name: policy_set_id
        in: path
        description: The ID of the policy set that owns the parameter.
        required: true
        style: simple
        schema:
          type: string
      - name: parameter_id
        in: path
        description: The ID of the parameter to be deleted.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /runs:
    post:
      tags:
      - Runs
      summary: createRun
      description: A run performs a plan and apply, using a configuration version and the workspace’s current variables. You can specify a configuration version when creating a run; if you don’t provide one, the run defaults to the workspace’s most recently used version. (A configuration version is “used” when it is created or used for a run in this workspace.)
      operationId: createRun
      parameters: []
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /runs/{run_id}/actions/apply:
    post:
      tags:
      - Runs
      summary: applyRun
      description: Applies a run that is paused waiting for confirmation after a plan. This includes runs in the "needs confirmation" and "policy checked" states. This action is only required for runs that can't be auto-applied. (Plans can be auto-applied if the auto-apply setting is enabled on the workspace and the plan was queued by a new VCS commit or by a user with write permissions.)
      operationId: applyRun
      parameters:
      - name: run_id
        in: path
        description: The run ID to apply
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /workspaces/{workspace_id}/runs:
    get:
      tags:
      - Runs
      summary: ListRuns
      description: List Runs in a Workspace
      operationId: ListRuns
      parameters:
      - name: workspace_id
        in: path
        description: The workspace ID to list runs for.
        required: true
        style: simple
        schema:
          type: string
      - name: page[number]
        in: query
        description: Page Number
        style: form
        explode: true
        schema:
          type: number
          format: double
      - name: page[size]
        in: query
        description: Page Size
        style: form
        explode: true
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /runs/{run_id}:
    get:
      tags:
      - Runs
      summary: GetRunDetails
      description: This endpoint is used for showing details of a specific run.
      operationId: GetRunDetails
      parameters:
      - name: run_id
        in: path
        description: The run ID to get.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /runs/{run_id}/actions/discard:
    post:
      tags:
      - Runs
      summary: DiscardRun
      description: The discard action can be used to skip any remaining work on runs that are paused waiting for confirmation or priority. This includes runs in the "pending," "needs confirmation," "policy checked," and "policy override" states.
      operationId: DiscardRun
      parameters:
      - name: run_id
        in: path
        description: The run ID to discard
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /runs/{run_id}/actions/cancel:
    post:
      tags:
      - Runs
      summary: cancelRun
      description: The cancel action can be used to interrupt a run that is currently planning or applying. Performing a cancel is roughly equivalent to hitting ctrl+c during a Terraform plan or apply on the CLI. The running Terraform process is sent an INT signal, which instructs Terraform to end its work and wrap up in the safest way possible.
      operationId: cancelRun
      parameters:
      - name: run_id
        in: path
        description: The run ID to cancel
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /runs/{run_id}/actions/force-cancel:
    post:
      tags:
      - Runs
      summary: forceCancel
      description: The force-cancel action is like cancel, but ends the run immediately. Once invoked, the run is placed into a canceled state, and the running Terraform process is terminated. The workspace is immediately unlocked, allowing further runs to be queued. The force-cancel operation requires workspace admin privileges.
      operationId: forceCancel
      parameters:
      - name: run_id
        in: path
        description: The run ID to cancel
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /runs/{run_id}/actions/force-execute:
    get:
      tags:
      - Runs
      summary: forceExecute
      description: The force-execute action cancels all prior runs that are not already complete, unlocking the run's workspace and allowing the run to be executed. (It initiates the same actions as the "Run this plan now" button at the top of the view of a pending run.)
      operationId: forceExecute
      parameters:
      - name: run_id
        in: path
        description: The run ID to execute
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /workspaces/{workspace_id}/state-versions:
    post:
      tags:
      - StateVersions
      summary: createStateVersion
      description: Create a State Version
      operationId: createStateVersion
      parameters:
      - name: workspace_id
        in: path
        description: The workspace ID to create the new state version in. Obtain this from the workspace settings or the Show Workspace endpoint.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /state-versions:
    get:
      tags:
      - StateVersions
      summary: listStateVersions
      description: List State Versions for a Workspace
      operationId: listStateVersions
      parameters:
      - name: filter[workspace][name]
        in: query
        description: Required The name of one workspace to list versions for.
        style: form
        explode: true
        schema:
          type: string
      - name: filter[organization][name]
        in: query
        description: Required The name of the organization that owns the desired workspace.
        style: form
        explode: true
        schema:
          type: string
      - name: page[number]
        in: query
        description: Optional. If omitted, the endpoint will return the first page.
        style: form
        explode: true
        schema:
          type: string
      - name: page[size]
        in: query
        description: Optional. If omitted, the endpoint will return 20 state versions per page.
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /workspaces/{workspace_id}/current-state-version:
    get:
      tags:
      - StateVersions
      summary: fetchCurrentStateVersionForWorkspace
      description: Fetch the Current State Version for a Workspace
      operationId: fetchCurrentStateVersionForWorkspace
      parameters:
      - name: workspace_id
        in: path
        description: The ID for the workspace whose current state version you want to fetch. Obtain this from the workspace settings or the Show Workspace endpoint.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /state-versions/{state_version_id}:
    get:
      tags:
      - StateVersions
      summary: showStateVersion
      description: Show a State Version
      operationId: showStateVersion
      parameters:
      - name: state_version_id
        in: path
        description: The ID of the desired state version.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /state-version-outputs/{state_version_output_id}:
    get:
      tags:
      - StateVersionOutputs
      summary: showStateVersionOutput
      description: Show a State Version Output
      operationId: showStateVersionOutput
      parameters:
      - name: state_version_output_id
        in: path
        description: The ID of the desired state version output.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /users/{user_id}:
    get:
      tags:
      - Users
      summary: showUser
      description: Shows details for a given user.
      operationId: showUser
      parameters:
      - name: user
        in: query
        description: The ID of the desired user.
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: user_id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /vars:
    post:
      tags:
      - Variables
      summary: createVariable
      description: Create a Variable
      operationId: createVariable
      parameters: []
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    get:
      tags:
      - Variables
      summary: listVariables
      description: List Variables
      operationId: listVariables
      parameters:
      - name: filter[workspace][name]
        in: query
        description: Optional The name of one workspace to list variables for. If included, you must also include the organization name filter.
        style: form
        explode: true
        schema:
          type: string
      - name: filter[organization][name]
        in: query
        description: Optional The name of the organization that owns the desired workspace. If included, you must also included the workspace name filter.
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /vars/{variable_id}:
    patch:
      tags:
      - Variables
      summary: updateVariables
      description: Update Variables
      operationId: updateVariables
      parameters:
      - name: variable_id
        in: path
        description: The ID of the variable to be updated.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - Variables
      summary: deleteVariables
      description: Delete Variables
      operationId: deleteVariables
      parameters:
      - name: variable_id
        in: path
        description: The ID of the variable to be deleted.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /organizations/{organization_name}/workspaces:
    post:
      tags:
      - Workspaces
      summary: createWorkspace
      description: Create a Workspace
      operationId: createWorkspace
      parameters:
      - name: organization_name
        in: path
        description: The name of the organization to create the workspace in. The organization must already exist in the system, and the user must have permissions to create new workspaces.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    get:
      tags:
      - Workspaces
      summary: listWorkspaces
      description: List Workspaces
      operationId: listWorkspaces
      parameters:
      - name: organization_name
        in: path
        description: The name of the organization to list the workspaces of.
        required: true
        style: simple
        schema:
          type: string
      - name: page[number]
        in: query
        description: Optional. If omitted, the endpoint will return the first page.
        style: form
        explode: true
        schema:
          type: string
      - name: page[size]
        in: query
        description: Optional. If omitted, the endpoint will return 150 workspaces per page.
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /workspaces/{workspace_id}:
    get:
      tags:
      - Workspaces
      summary: showWorkspace
      description: Details on a workspace can be retrieved from two endpoints, which behave identically. One refers to a workspace by its ID, and the other by its name and organization.
      operationId: showWorkspace
      parameters:
      - name: workspace_id
        in: path
        description: The workspace ID
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /workspaces/{workspace_id}/actions/lock:
    post:
      tags:
      - Workspaces
      summary: lockWorkspace
      description: This endpoint locks a workspace.
      operationId: lockWorkspace
      parameters:
      - name: workspace_id
        in: path
        description: The workspace ID to lock. Obtain this from the workspace settings or the Show Workspace endpoint.
        required: true
        style: simple
        schema:
          type: object
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /workspaces/{workspace_id}/actions/unlock:
    post:
      tags:
      - Workspaces
      summary: unlockWorkspace
      description: This endpoint unlocks a workspace.
      operationId: unlockWorkspace
      parameters:
      - name: workspace_id
        in: path
        description: The workspace ID to unlock. Obtain this from the workspace settings or the Show Workspace endpoint.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /workspaces/{workspace_id}/actions/force-unlock:
    post:
      tags:
      - Workspaces
      summary: forceUnlockWorkspace
      description: This endpoint force unlocks a workspace. Only users with admin access are authorized to force unlock a workspace.
      operationId: forceUnlockWorkspace
      parameters:
      - name: workspace_id
        in: path
        description: The workspace ID to force unlock. Obtain this from the workspace settings or the Show Workspace endpoint.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /workspaces/{workspace_id}/relationships/ssh-key:
    patch:
      tags:
      - Workspaces
      summary: assignSSHKeyToWorkspace
      description: This endpoint assigns and unassigns an SSH key to/from a workspace.
      operationId: assignSSHKeyToWorkspace
      parameters:
      - name: workspace_id
        in: path
        description: The workspace ID to assign the SSH key to. Obtain this from the workspace settings or the Show Workspace endpoint.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /workspaces/{workspace_id}/vars:
    post:
      tags:
      - WorkspacesVariables
      summary: createWorkspaceVariable
      description: Create a Workspace Variable
      operationId: createWorkspaceVariable
      parameters:
      - name: workspace_id
        in: path
        description: The ID of the workspace to create the variable in.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    get:
      tags:
      - WorkspacesVariables
      summary: listWorkspaceVariables
      description: List workspace variables
      operationId: listWorkspaceVariables
      parameters:
      - name: workspace_id
        in: path
        description: The ID of the workspace to list variables for.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
  /workspaces/{workspace_id}/vars/{variable_id}:
    patch:
      tags:
      - WorkspacesVariables
      summary: updateWorkspaceVariables
      description: Update Workspace Variables
      operationId: updateWorkspaceVariables
      parameters:
      - name: workspace_id
        in: path
        description: The ID of the workspace that owns the variable.
        required: true
        style: simple
        schema:
          type: string
      - name: variable_id
        in: path
        description: The ID of the variable to be updated.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - WorkspacesVariables
      summary: deleteWorkspaceVariables
      description: Delete Workspace Variables
      operationId: deleteWorkspaceVariables
      parameters:
      - name: workspace_id
        in: path
        description: The ID of the workspace that owns the variable.
        required: true
        style: simple
        schema:
          type: string
      - name: variable_id
        in: path
        description: The ID of the variable to be deleted.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
                description: successful operation
        '400':
          description: failed operation
          headers: {}
          content: {}
      deprecated: false
tags:
- name: default
  description: ''
  externalDocs:
    url: http://swagger.io
- name: Account
  description: Account represents the current user interacting with Terraform. It returns the same type of object as the Users API, but also includes an email address, which is hidden when viewing info about other users.
- name: Applies
  description: An apply represents the results of applying a Terraform Run's execution plan.
- name: CostEstimates
  description: Cost estimate Information
- name: NotificationConfigurations
  description: Terraform Cloud can be configured to send notifications for run state transitions. The configuration allows you to specify a destination URL, request type, and what events will trigger the notification. Each workspace can have up to 20 notification configurations, and they apply to all runs for that workspace.
- name: OAuthClients
  description: An OAuth Client represents the connection between an organization and a VCS provider.
- name: OAuthTokens
  description: The oauth-token object represents a VCS configuration which includes the OAuth connection and the associated OAuth token. This object is used when creating a workspace to identify which VCS connection to use.
- name: Organizations
  description: The Organizations API is used to list, show, create, update, and destroy organizations.
- name: OrganizationMemberships
  description: >-
    Users are added to organizations by inviting them to join. Once accepted, they become members of the organization. The Organization Membership resource represents this membership.

    You can invite users who already have an account, as well as new users. If the user has an existing account with the same email address used to invite them, they can reuse the same login.
- name: OrganizationToken
  description: Organization Token API
- name: PlanExports
  description: Plan exports allow users to download data exported from the plan of a Run in a Terraform workspace. Currently, the only supported format for exporting plan data is to generate mock data for Sentinel.
- name: Plans
  description: Plan exports allow users to download data exported from the plan of a Run in a Terraform workspace.
- name: Policies
  description: Policies are configured on a per-organization level and are organized and grouped into policy sets, which define the workspaces on which policies are enforced during runs. In these workspaces, the plan's changes are validated against the relevant policies after the plan step.
- name: PolicyChecks
  description: Policy Checks.
- name: PolicySets
  description: Policy Sets.
- name: PolicySetParameters
  description: Policy Set Parameters.
- name: Runs
  description: Performing a run on a new configuration is a multi-step process.  Create a configuration version on the workspace. Upload configuration files to the configuration version. Create a run on the workspace; this is done automatically when a configuration file is uploaded. Create and queue an apply on the run; if the run can't be auto-applied. Alternatively, you can create a run with a pre-existing configuration version, even one from another workspace. This is useful for promoting known good code from one workspace to another.
- name: StateVersions
  description: State Versions.
- name: StateVersionOutputs
  description: State Version Outputs.
- name: Users
  description: Terraform Cloud's user objects do not contain any identifying information about a user, other than their Terraform Cloud username and avatar image; they are intended for displaying names and avatars in contexts that refer to a user by ID, like lists of team members or the details of a run. Most of these contexts can already include user objects via an ?include parameter, so you shouldn't usually need to make a separate call to this endpoint.
- name: Variables
  description: This set of APIs covers create, update, list and delete operations on variables.
- name: Workspaces
  description: Workspaces represent running infrastructure managed by Terraform.
- name: WorkspacesVariables
  description: This set of APIs covers create, update, list and delete operations on workspace variables
externalDocs:
  description: Find out more about Swagger
  url: http://swagger.io
