Terraform Apply
- POST
- /workspaces
- /:workspace
- /projects
- /:project_name
- /pipelines
- /:pipeline_id
- /actions
Creates a new Terraform Apply action in the pipeline
Request
REQUIRED SCOPES
PIPELINE_WRITE
URL PARAMETERS
workspacerequiredstring
The human-readable ID of the workspaceExample: "my-company"
project_namerequiredstring
The human-readable ID of the projectExample: "my-project"
pipeline_idrequiredinteger
The ID of the pipelineExample: 123
BODY PARAMETERS
typerequiredstring
The type of the actionValue: TERRAFORM_APPLY
after_action_idinteger
The numerical ID of the action, after which this action should be addednamerequiredstring
The name of the actiontrigger_timestring enum
Specifies when the action should be executedAllowed enum:
ON_EVERY_EXECUTION,ON_FAILURE,ON_BACK_TO_SUCCESS,ON_WARNING,ON_WAIT_FOR_APPROVE,ON_TERMINATEtrigger_conditionsTriggerConditionView[]
The list of trigger conditions to meet so that the action can be triggeredrun_nextstring enum
Defines whether the action should run in parallel with the next oneAllowed enum:
WAIT_ON_SUCCESS,IN_SOFT_PARALLEL,IN_HARD_PARALLELrun_only_on_first_failureboolean
Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILUREvariablesEnvironmentVariableView[]
The list of variables you can use the actiondisabledboolean
When set to true the action is disabled. By default it is set to falsetimeoutinteger
The timeout in secondsignore_errorsboolean
If set to true the execution will proceed, mark action as a warning and jump to the next action. Doesn't apply to deployment actionsretry_countinteger
Number of retries if the action failsretry_intervalinteger
Delay time between auto retries in secondsloopstring[]
The list of commands that will be executed in a loopcurrent_revisionstring
The git revision of the last successful run of the actiontoolrequiredstring enum
The Terraform tool to run: OPENTOFU, TERRAFORM (FOSS, up to 1.5.7) or CUSTOMAllowed enum:
OPENTOFU,TERRAFORM,CUSTOMversionstring
Tool version, e.g. 1.9.0 or latest. Required unless tool is CUSTOMcustom_binary_pathstring
Path to the binary inside the Docker image, e.g. /usr/local/bin/tofu. Required when tool is CUSTOMdocker_image_namestring
Custom Docker image to run in. Defaults to the Buddy Terraform runnerdocker_image_tagstring
Tag of the custom Docker imageimage_locationstring enum
The location of the image used by the actionAllowed enum:
PUBLIC_REGISTRY,PRIVATE_REGISTRY,ACTION,ARTIFACT_REGISTRYdocker_registrystring enum
The type of registry from which the image is retrievedAllowed enum:
NONE,DOCKER_HUB,AMAZON_ECR,GOOGLE_GCR,GOOGLE_ARTIFACT_REGISTRY,OTHER,GIT_HUB_CONTAINER_REGISTRY,ARTIFACT_REGISTRY,DIGITAL_OCEAN_CONTAINER_REGISTRYregistrystring
The URL of the Docker registryloginstring
The username for the Docker registrypasswordstring
The password for the Docker registryregionstring
The region for the Docker registry (for AWS ECR)integrationDockerIntegrationRef
Docker registry integration (DOCKER_HUB|GOOGLE_SERVICE_ACCOUNT|AMAZON|GIT_HUB|GIT_HUB_ENTERPRISE)working_directorystring
Path relative to the repository root. Defaults to .tf_workspacestring
Terraform workspace to run in, exported to the tool as TF_WORKSPACE. Set the same value in the Plan and Apply actions, otherwise Apply runs against a different state. Defaults to default, or to TF_WORKSPACE set as a pipeline variableadditional_argsstring
Extra CLI arguments appended to the command, as a single space-separated stringbackendTerraformRunBackendRequest
The Terraform state backend configurationplan_file_pathstring
Path to the plan file. Defaults to $BUDDY_ACTION_TF_PLAN_OUTPUT_FILE (output of the preceding Terraform Plan action)Response
RESPONSE BODY
typestring
The type of the actionValue: TERRAFORM_APPLY
urlread-onlystring
API endpoint to GET this objecthtml_urlread-onlystring
Web URL to view this object in Buddy.worksidinteger
The ID of the actionnamestring
The name of the actioncurrent_revisionstring
The git revision of the last successful run of the actiontrigger_timestring enum
Specifies when the action should be executedAllowed enum:
ON_EVERY_EXECUTION,ON_FAILURE,ON_BACK_TO_SUCCESS,ON_WARNING,ON_WAIT_FOR_APPROVE,ON_TERMINATEtrigger_conditionsTriggerConditionView[]
The list of trigger conditions to meet so that the action can be triggeredrun_nextstring enum
Defines whether the action should run in parallel with the next oneAllowed enum:
WAIT_ON_SUCCESS,IN_SOFT_PARALLEL,IN_HARD_PARALLELrun_only_on_first_failureboolean
Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILUREvariablesEnvironmentVariableView[]
The list of variables you can use the actiondisabledboolean
When set to true the action is disabled. By default it is set to falsetimeoutinteger
The timeout in secondsignore_errorsboolean
If set to true the execution will proceed, mark action as a warning and jump to the next action. Doesn't apply to deployment actionsretry_countinteger
Number of retries if the action failsretry_intervalinteger
Delay time between auto retries in secondslast_execution_statusstring enum
The status of the last run of the actionAllowed enum:
INPROGRESS,ENQUEUED,TERMINATED,SUCCESSFUL,FAILED,INITIAL,NOT_EXECUTED,SKIPPED,TERMINATING,WAITING_FOR_APPLY,WAITING_FOR_VARIABLES,WAITING_FOR_SETTABLE_VARIABLES,WAITING_FOR_VT_SESSIONpipelineShortPipelineView
Short representation of a pipelinepermissionsPermissionsView
Access permissions configurationloopstring[]
The list of commands that will be executed in a looptoolstring enum
The Terraform tool to run: OPENTOFU, TERRAFORM (FOSS, up to 1.5.7) or CUSTOMAllowed enum:
OPENTOFU,TERRAFORM,CUSTOMversionstring
Tool version, e.g. 1.9.0 or latest. Required unless tool is CUSTOMcustom_binary_pathstring
Path to the binary inside the Docker image, e.g. /usr/local/bin/tofu. Required when tool is CUSTOMdocker_image_namestring
Custom Docker image to run in. Defaults to the Buddy Terraform runnerdocker_image_tagstring
Tag of the custom Docker imageimage_locationstring enum
The location of the image used by the actionAllowed enum:
PUBLIC_REGISTRY,PRIVATE_REGISTRY,ACTION,ARTIFACT_REGISTRYdocker_registrystring enum
The type of registry from which the image is retrievedAllowed enum:
NONE,DOCKER_HUB,AMAZON_ECR,GOOGLE_GCR,GOOGLE_ARTIFACT_REGISTRY,OTHER,GIT_HUB_CONTAINER_REGISTRY,ARTIFACT_REGISTRY,DIGITAL_OCEAN_CONTAINER_REGISTRYregistrystring
The URL of the Docker registryloginstring
The username for the Docker registrypasswordstring
The password for the Docker registryregionstring
The region for the Docker registry (for AWS ECR)integrationIntegrationIdentifierView
The integration used by the actionworking_directorystring
Path relative to the repository root. Defaults to .tf_workspacestring
Terraform workspace to run in, exported to the tool as TF_WORKSPACE. Set the same value in the Plan and Apply actions, otherwise Apply runs against a different state. Defaults to default, or to TF_WORKSPACE set as a pipeline variableadditional_argsstring
Extra CLI arguments appended to the command, as a single space-separated stringbackendTerraformRunBackendView
The Terraform state backend configurationplan_file_pathstring
Path to the plan file. Defaults to $BUDDY_ACTION_TF_PLAN_OUTPUT_FILE (output of the preceding Terraform Plan action)Last modified on Sep 21, 2026
Request example
curl -X POST "https://api.buddy.works/workspaces/:workspace/projects/:project_name/pipelines/:pipeline_id/actions" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"name": "Terraform Apply",
"type": "TERRAFORM_APPLY",
"trigger_time": "ON_EVERY_EXECUTION",
"tool": "OPENTOFU",
"version": "1.9.0",
"working_directory": "./infrastructure/prod",
"tf_workspace": "production",
"plan_file_path": "$BUDDY_ACTION_TF_PLAN_OUTPUT_FILE"
}'STATUS200 OK