# Compile Environment

Endpoint for compiling an environment and a target state to a valid infrastructure

Endpoint: POST /api/environments/compile
Version: 1.0
Security: x-api-key

## Header parameters:

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

## Request fields (application/json):

  - `environmentYaml` (string, required)
    Environment to compile

  - `orgIdentifier` (string)
    Org is the organization identifier.

  - `projectIdentifier` (string)
    Project is the project identifier.

  - `targetState` (object, required)

  - `targetState.state` (string, required)
    Enum: "unknown", "inactive", "instantiated", "running", "paused"

## Response 200 fields (application/json):

  - `combinedOverrides` (object)

  - `combinedOverrides.config` (object, required)
    Configuration overrides for the environment

  - `combinedOverrides.entities` (object, required)
    Entity-specific overrides

  - `configOptions` (object, required)

  - `configOptions.entities` (object, required)

  - `configOptions.inputs` (object, required)

  - `errors` (array, required)

  - `errors.message` (string, required)

  - `infrastructure` (object)

  - `infrastructure.identifier` (string, required)

  - `infrastructure.instances` (array)

  - `infrastructure.instances.dependencies` (object)

  - `infrastructure.instances.identifier` (string, required)

  - `infrastructure.instances.implementation` (object)

  - `infrastructure.instances.implementation.backend` (string, required)

  - `infrastructure.instances.implementation.steps` (object, required)

  - `infrastructure.instances.implementation.steps.apply` (object, required)

  - `infrastructure.instances.implementation.steps.create` (object)

  - `infrastructure.instances.implementation.steps.delete` (object)

  - `infrastructure.instances.implementation.steps.destroy` (object, required)

  - `infrastructure.instances.implementation.steps.pause` (object)

  - `infrastructure.instances.implementation.steps.resume` (object)

  - `infrastructure.instances.implementation.values` (object)

  - `infrastructure.instances.metadata` (object)

  - `infrastructure.instances.outputs` (object)

  - `infrastructure.instances.targetState` (object)

  - `infrastructure.metadata` (object)

  - `infrastructure.outputs` (object)

  - `infrastructure.targetState` (object, required)

## Response 400 fields (application/json):

  - `code` (string)

  - `details` (object)

  - `message` (string, required)

  - `name` (string, required)


