---
title: "Deploys resources at a given scope."
method: PUT
path: "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}"
tags: ["Deployments"]
---

# Deploys resources at a given scope.

`PUT /{scope}/providers/Microsoft.Resources/deployments/{deploymentName}`

You can provide the template and parameters directly in the request or link to JSON files.

## Path parameters

- `scope` string, required
- `deploymentName` string, required

## Parameters

- `../../../../../../common-types/resource-management/v3/types.json#/components/parameters/ApiVersionParameter` — unresolved $ref

## Request body

- Deployment — Deployment operation parameters.
  - `location` string — The location to store the deployment data.
  - `properties` DeploymentProperties, required — Deployment properties.
    - `template` unknown
    - `templateLink` TemplateLink — Entity representing the reference to the template.
      - `uri` string — The URI of the template to deploy. Use either the uri or id property, but not both.
      - `id` string — The resource id of a Template Spec. Use either the id or uri property, but not both.
      - `relativePath` string — The relativePath property can be used to deploy a linked template at a location relative to the parent. If the parent template was linked with a TemplateSpec, this will reference an artifact in the TemplateSpec. If the parent was linked with a URI, the child deployment will be a combination of the parent and relativePath URIs
      - `contentVersion` string — If included, must match the ContentVersion in the template.
      - `queryString` string — The query string (for example, a SAS token) to be used with the templateLink URI.
    - `parameters` object — Name and value pairs that define the deployment parameters for the template. You use this element when you want to provide the parameter values directly in the request rather than link to an existing parameter file. Use either the parametersLink property or the parameters property, but not both. It can be a JObject or a well formed JSON string.
    - `externalInputs` object — External input values, used by external tooling for parameter evaluation.
    - `externalInputDefinitions` object — External input definitions, used by external tooling to define expected external input values.
    - `parametersLink` ParametersLink — Entity representing the reference to the deployment parameters.
      - `uri` string, required — The URI of the parameters file.
      - `contentVersion` string — If included, must match the ContentVersion in the template.
    - `extensionConfigs` object — The configurations to use for deployment extensions. The keys of this object are deployment extension aliases as defined in the deployment template.
    - `mode` 'Incremental' | 'Complete', required — The mode that is used to deploy resources. This value can be either Incremental or Complete. In Incremental mode, resources are deployed without deleting existing resources that are not included in the template. In Complete mode, resources are deployed and existing resources in the resource group that are not included in the template are deleted. Be careful when using Complete mode as you may unintentionally delete resources.
    - `debugSetting` DebugSetting — The debug setting.
      - `detailLevel` string — Specifies the type of information to log for debugging. The permitted values are none, requestContent, responseContent, or both requestContent and responseContent separated by a comma. The default is none. When setting this value, carefully consider the type of information you are passing in during deployment. By logging information about the request or response, you could potentially expose sensitive data that is retrieved through the deployment operations.
    - `onErrorDeployment` OnErrorDeployment — Deployment on error behavior.
      - `type` 'LastSuccessful' | 'SpecificDeployment' — The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment.
      - `deploymentName` string — The deployment to be used on error case.
    - `expressionEvaluationOptions` ExpressionEvaluationOptions — Specifies whether template expressions are evaluated within the scope of the parent template or nested template.
      - `scope` 'NotSpecified' | 'Outer' | 'Inner' — The scope to be used for evaluation of parameters, variables and functions in a nested template.
    - `validationLevel` 'Template' | 'Provider' | 'ProviderNoRbac' — The level of validation performed on the deployment.
  - `tags` object — Deployment tags
  - `identity` DeploymentIdentity — The Managed Identity configuration for a deployment.
    - `type` 'None' | 'UserAssigned', required — The identity type.
    - `userAssignedIdentities` object — The set of user assigned identities associated with the resource.

## Response `200`

Resource 'DeploymentExtended' update operation succeeded

- DeploymentExtended — unresolved $ref

## Other responses

- `201` — Resource 'DeploymentExtended' create operation succeeded
- `default` — An unexpected error response.

## Changes

- **2026-07-13** (2015-11-01) `ea64f4e7e898` — 1 warning
  - deleted the `query` request parameter `api-version`
- **2026-07-13** (2015-11-01) `c3702e2daa70` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/azure/apis/resources-microsoft-resources-deployments/changes/:scope/providers/Microsoft.Resources/deployments/:deploymentName/put.md)

---

[API](https://skmtc.dev/azure/apis/resources-microsoft-resources-deployments.md) · [All operations](https://skmtc.dev/azure/apis/resources-microsoft-resources-deployments/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/azure/resources-microsoft-resources-deployments/revisions/ea64f4e7e898/schema)
