# Show workspace

Show an individual workspace.

Endpoint: GET /iacm/api/orgs/{org}/projects/{project}/workspaces/{identifier}
Version: 1.0
Security: x-api-key

## Path parameters:

  - `org` (string, required)
    Org is the organisation identifier.
    Example: "55"

  - `project` (string, required)
    Project is the project identifier.
    Example: "5"

  - `identifier` (string, required)
    Identifier is the project identifier.
    Example: "d"

## Header parameters:

  - `Harness-Account` (string, required)
    Account is the internal customer account ID.
    Example: "wh"

## Response 200 fields (application/json):

  - `account` (string, required)
    Account is the internal customer account ID.
    Example: "bw0"

  - `associated_template` (object)
    AssociatedTemplate defines the template details with template_id and version.
    Example: {"template_id":"r","version":"7mj"}

  - `associated_template.template_id` (string)
    Template ID of the template associated to the Workspace.
    Example: "r"

  - `associated_template.version` (string)
    Version of the template associated to the Workspace.
    Example: "7mj"

  - `backend_locked` (boolean)
    Defines if the remote backend is locked or not
    Example: true

  - `budget` (number)
    define the budget for a specific workspace
    Example: 0.106980816

  - `ccm_cost_enabled` (boolean)
    define if CCM cost integration is enabled for this workspace
    Example: true

  - `cost_breakdown_json` (string)
    cost_breakdown_json is the identifier to the breakdown cost file from the current execution that was applied successfully
    Example: "c4a2d99bc28d236098a095277b7eb0718d6be068"

  - `cost_diff_json` (string)
    cost_diff_json is the identifier to the diff cost file between the previous and current successful executions
    Example: "c4a2d99bc28d236098a095277b7eb0718d6be068"

  - `cost_estimation_enabled` (boolean)
    define if cost estimation operations will be performed in this workspace
    Example: true

  - `created` (integer, required)
    Created is the unix timestamp at which the resource was originally created in milliseconds.
    Example: 6220122609617983000

  - `default_pipelines` (object)
    List of default pipelines associated with this workspace and any per-workspace overrides.
    Example: {"Aut aut aut odio dolorum.":{"project_pipeline":"Laudantium quibusdam voluptatem illum rerum voluptatem non.","workspace_pipeline":"Fuga ipsum."},"Quo autem hic fuga.":{"project_pipeline":"Laudantium quibusdam voluptatem illum rerum voluptatem non.","workspace_pipeline":"Fuga ipsum."},"Velit temporibus vero rerum placeat nostrum.":{"project_pipeline":"Laudantium quibusdam voluptatem illum rerum voluptatem non.","workspace_pipeline":"Fuga ipsum."}}

  - `description` (string)
    Description provides long-form text about the resource.
    Example: "this is a more detailed explanation of the resource."

  - `environment_variables` (object, required)
    list of environment variables configured on the workspace.
    Example: {"Accusantium at et in et nesciunt.":{"created":2429367143570015000,"key":"jl1","updated":6642620354677624000,"value":"Eos magnam sed et et quam deleniti.","value_type":"string"}}

  - `git_fetch_type` (string)
    Git fetch type (branch/commitId/sha) - can contain JEXL expressions.
    Example: "branch"

  - `identifier` (string, required)
    Workspace identifier.
    Example: "6v"

  - `lock` (object)
    workspaceLock holds the details of an active workspace lock. Fields are populated for manual (user-initiated) locks and left empty for automatic (Terraform CLI) locks.
    Example: {"created_at":8857189691969749000,"id":"Impedit ea laboriosam voluptas numquam.","locked_by_display_name":"Debitis facere est animi et molestiae.","locked_by_principal_id":"Minima repellendus.","locked_by_principal_type":"Suscipit vel et ut maxime in tempore.","manual":true,"reason":"Quia omnis at."}

  - `lock.created_at` (integer)
    Unix timestamp (milliseconds) when the lock was created.
    Example: 8857189691969749000

  - `lock.id` (string)
    Lock ID.
    Example: "Impedit ea laboriosam voluptas numquam."

  - `lock.locked_by_display_name` (string)
    Display name of who locked the workspace.
    Example: "Debitis facere est animi et molestiae."

  - `lock.locked_by_principal_id` (string)
    Principal ID who locked the workspace.
    Example: "Minima repellendus."

  - `lock.locked_by_principal_type` (string)
    Type of principal who locked the workspace.
    Example: "Suscipit vel et ut maxime in tempore."

  - `lock.manual` (boolean)
    Whether the lock is manual (user-initiated). true = manual lock, false = automatic lock.
    Example: true

  - `lock.reason` (string)
    Reason for the lock.
    Example: "Quia omnis at."

  - `modules_json` (string)
    modules_json is the identifier of any modules metadata associated with this workspace
    Example: "c4a2d99bc28d236098a095277b7eb0718d6be068"

  - `name` (string, required)
    Name is the human readable name for the resource.
    Example: "resource name"

  - `org` (string, required)
    Org is the organisation identifier.
    Example: "f"

  - `project` (string, required)
    Project is the project identifier.
    Example: "94y"

  - `provider_connector` (string, required)
    Provider Connector is the reference to the connector for the infrastructure provider.
    Example: "Tenetur quia."

  - `provider_connectors` (array)
    define an array of provider connectors that belong to Workspace
    Example: [{"connector_ref":"6","created":1627590400,"id":8052349166846002000,"terragrunt_provider":true,"type":"azure","updated":1627686800,"workspace_id":333133447305764600},{"connector_ref":"6","created":1627590400,"id":8052349166846002000,"terragrunt_provider":true,"type":"azure","updated":1627686800,"workspace_id":333133447305764600},{"connector_ref":"6","created":1627590400,"id":8052349166846002000,"terragrunt_provider":true,"type":"azure","updated":1627686800,"workspace_id":333133447305764600},{"connector_ref":"6","created":1627590400,"id":8052349166846002000,"terragrunt_provider":true,"type":"azure","updated":1627686800,"workspace_id":333133447305764600}]

  - `provider_connectors.connector_ref` (string, required)
    Connector reference in harness platform.
    Example: "n"

  - `provider_connectors.created` (integer)
    Timestamp when the connector was created.
    Example: 1627590400

  - `provider_connectors.id` (integer)
    ID PK for internal uses
    Example: 3876207744533462000

  - `provider_connectors.terragrunt_provider` (boolean)
    Whether this workspace uses terragrunt to provision infrastructure
    Example: true

  - `provider_connectors.type` (string, required)
    Type indicates the connector type.
    Enum: "aws", "azure", "gcp", "vault"

  - `provider_connectors.updated` (integer)
    Timestamp when the connector was last updated.
    Example: 1627686800

  - `provider_connectors.workspace_id` (integer)
    Workspace ID FK for internal uses
    Example: 5646899192036875000

  - `providers_json` (string)
    providers_json is the identifier of any modules metadata associated with this workspace
    Example: "c4a2d99bc28d236098a095277b7eb0718d6be068"

  - `provisioner` (string, required)
    Provisioner defines the provisioning tool to use.
    Example: "Eaque est quia quis maxime odio."

  - `provisioner_configuration` (string)
    Provisioner configuration metadata (key value pair provisioner specific configuration).
    Example: "Laudantium molestias facilis temporibus."

  - `provisioner_data` (string, required)
    Example: "Et fugit dolorum molestiae et."

  - `provisioner_version` (string)
    Provisioner Version defines the tool version to use.
    Example: "Iure est sit aperiam qui placeat tempora."

  - `prune_sensitive_data` (boolean)
    prune_sensitive_data is a flag to enable or disable pruning of sensitive data
    Example: true

  - `repository` (string)
    Repository is the name of the repository to use.
    Example: "Laborum accusantium nobis."

  - `repository_branch` (string)
    Repository Branch in which the code should be accessed.
    Example: "main"

  - `repository_commit` (string)
    Repository Commit/Tag in which the code should be accessed.
    Example: "abc10ed"

  - `repository_connector` (string, required)
    Repository Connector is the reference to the connector to use for this code.
    Example: "Quisquam recusandae expedita hic ratione quibusdam."

  - `repository_path` (string)
    Repository Path is the path in which the infra code resides.

  - `repository_ref` (string)
    Generic repository reference (branch/commit/sha) used with JEXL expressions.
    Example: "<+stage.variables.REF>"

  - `repository_sha` (string)
    Repository SHA in which the code should be accessed.
    Example: "abc10ed"

  - `repository_submodules` (string)
    repository_submodules is the instruction about whether to clone submodules in the pipeline step
    Enum: "false", "true", "recursive"

  - `run_all` (boolean)
    Run-All terragrunt modules.

  - `sparse_checkout` (string)
    List of patterens that will be used for sparse checkout option of git clone
    Example: "Sit in ipsam quis ex quidem cumque."

  - `state_checksum` (string)
    state_checksum is the sha-256 checksum of terraform state file
    Example: "d21c1662d8ce2c74f24efdc8db93eb34473b86810aeccca4b1518f70b0ccde8f"

  - `status` (string, required)
    The status of the workspace
    Enum: "active", "inactive", "provisioning", "destroying", "failed", "unknown", "rollback_applied"

  - `tags` (object, required)
    Tags associated with the workspace.
    Example: {"cost-center":"engineering","environment":"production","team":"platform"}

  - `terraform_plan_json` (string)
    terraform_plan_json is the identifier to the current state file only in JSON format.
    Example: "f9e21473daaa2674d862b67a1339f4570e86de17"

  - `terraform_state` (string)
    terraform_state is the identifier to the plan file used to create the latest state.
    Example: "fc1200c7a7aa52109d762a9f005b149abef01479"

  - `terraform_state_json` (string)
    terraform_state_json is the identifier to the plan file used to create the latest state only in JSON format.
    Example: "c4a2d99bc28d236098a095277b7eb0718d6be068"

  - `terraform_variable_files` (array)
    define an array of terraform variables files that belong to a different repository
    Example: [{"git_fetch_type":"branch","repository":"Dolorem facere laboriosam et.","repository_branch":"main","repository_commit":"abc10ed","repository_connector":"Eaque accusantium ea quo quae unde.","repository_path":"","repository_ref":"<+stage.variables.REF>","repository_sha":"abc10ed"},{"git_fetch_type":"branch","repository":"Dolorem facere laboriosam et.","repository_branch":"main","repository_commit":"abc10ed","repository_connector":"Eaque accusantium ea quo quae unde.","repository_path":"","repository_ref":"<+stage.variables.REF>","repository_sha":"abc10ed"}]

  - `terraform_variable_files.git_fetch_type` (string)
    Git fetch type (branch/commitId/sha) - can contain JEXL expressions.
    Example: "branch"

  - `terraform_variable_files.repository` (string, required)
    Repository is the name of the repository to use.
    Example: "Aut est voluptatem."

  - `terraform_variable_files.repository_branch` (string)
    Repository Branch in which the code should be accessed.
    Example: "main"

  - `terraform_variable_files.repository_commit` (string)
    Repository Commit/Tag in which the code should be accessed.
    Example: "abc10ed"

  - `terraform_variable_files.repository_connector` (string)
    Repository Connector is the reference to the connector to use for this code.
    Example: "Ex nisi dolores sunt."

  - `terraform_variable_files.repository_path` (string)
    Repository Path is the path in which the infra code resides.

  - `terraform_variable_files.repository_ref` (string)
    Generic repository reference (branch/commit/sha) used with JEXL expressions.
    Example: "<+stage.variables.REF>"

  - `terraform_variable_files.repository_sha` (string)
    Repository SHA in which the code should be accessed.
    Example: "abc10ed"

  - `terraform_variables` (object, required)
    list of terraform variables configured on the workspace.
    Example: {"Aut quibusdam aperiam rerum ut.":{"created":2429367143570015000,"key":"jl1","updated":6642620354677624000,"value":"Eos magnam sed et et quam deleniti.","value_type":"string"}}

  - `terragrunt_provider` (boolean)
    Whether this workspace uses terragrunt to provision infrastructure
    Example: true

  - `terragrunt_version` (string)
    Terragrunt Version to use when provisioner is terragrunt.
    Example: "Fuga et sequi vel placeat qui fugiat."

  - `updated` (integer, required)
    Modified is the unix timestamp at which the resource was last modified in milliseconds.
    Example: 6410615453411372000

  - `variable_sets` (array)
    Attached Variable Sets references
    Example: ["Vel corrupti.","Et eum eum modi aperiam."]

## Response 400 fields (application/vnd.goa.error):

  - `fault` (boolean, required)
    Is the error a server-side fault?
    Example: true

  - `id` (string, required)
    ID is a unique identifier for this particular occurrence of the problem.
    Example: "123abc"

  - `message` (string, required)
    Message is a human-readable explanation specific to this occurrence of the problem.
    Example: "parameter 'p' must be an integer"

  - `name` (string, required)
    Name is the name of this class of errors.
    Example: "bad_request"

  - `temporary` (boolean, required)
    Is the error temporary?
    Example: true

  - `timeout` (boolean, required)
    Is the error a timeout?


