---
title: "Create a deployment template"
method: POST
path: "/deployment-manager/deployment_templates"
tags: ["Configuration Templates"]
---

# Create a deployment template

`POST /deployment-manager/deployment_templates`

Creates templates based on user preference.
There are 2 ways to select components.
  - Selecting the whole component.
  - Advanced Options -> which helps user to select specific components to be migrated.

It takes the enviroment details from the logged in user automatically, while creating the template.

## Headers

- `Idempotency-Key` string
- `Accept-Encoding` string
- `Content-Encoding` string
- `Zuora-Entity-Ids` string
- `Zuora-Org-Ids` string
- `Zuora-Track-Id` string

## Request body

- CreateTemplateRequestContent — CreateTemplateRequestContent object contains information for creating template.
  - `content` SettingSourceComponentResponse, nullable — Provides details about the different components that need to be compared and deployed.
    - `customFields` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `customObjects` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `dataAccessControl` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `dataQuery` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `multiOrg` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `notifications` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `organizationHierarchy` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `productCatalog` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `settings` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `workflows` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
  - `customFields` boolean — Selected custom fields component or not.
  - `customObjects` boolean — Selected custom objects component or not.
  - `description` string, required — Creates template description.
  - `name` string, required — Name of the Template.
  - `notifications` boolean — Selected Notification component or not.
  - `selectedComponents` ConfigurationTemplateContent[] — ConfigurationTemplateContent object contains the selected meta data information.
    - `componentType` string — Type of Component.
    - `error` string, nullable — Error Information.
    - `id` string — Id of Each component.
    - `key` string — Key value of fields inside component.
    - `method` string — Http method which is used to retrieve the particular component.
    - `payload` JsonNode, nullable — Json node object contains metadata.
    - `result` string — Contains the response of details fetched regarding selected component.
    - `segregationKey` string — Gives the difference between components and sub components.
    - `templateId` string, nullable — Id of the Template.
    - `url` string — Metadata is retrieved from this URL.
  - `settings` boolean — Selected Settings component or not.
  - `templateTenant` string, required — ID of the template tenant.
  - `workflows` boolean — Selected Workflow component or not.

## Response `200`

Successfully created the template.

- TemplateDetailResponse — Contains all template details.
  - `active` boolean — Whether or not the template is active.
  - `content` SettingSourceComponentResponse, nullable — Provides details about the different components that need to be compared and deployed.
    - `customFields` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `customObjects` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `dataAccessControl` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `dataQuery` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `multiOrg` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `notifications` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `organizationHierarchy` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `productCatalog` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `settings` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
    - `workflows` SettingComponentKeyValue[]
      - `errors` string[]
      - `originalPayload` JsonNode, nullable — Json node object contains metadata.
      - `response` ConfigurationTemplateContent[]
        - `componentType` string — Type of Component.
        - `error` string, nullable — Error Information.
        - `id` string — Id of Each component.
        - `key` string — Key value of fields inside component.
        - `method` string — Http method which is used to retrieve the particular component.
        - `payload` JsonNode, nullable — Json node object contains metadata.
        - `result` string — Contains the response of details fetched regarding selected component.
        - `segregationKey` string — Gives the difference between components and sub components.
        - `templateId` string, nullable — Id of the Template.
        - `url` string — Metadata is retrieved from this URL.
      - `segregationKeys` string[]
  - `createdBy` string — Information about the user who created it.
  - `createdOn` string — When it is created.
  - `description` string — Template description which contains the information about the created template.
  - `entityName` string — Name of the Entity
  - `environment` string — Details of the environment in which the template was created.
  - `errors` string — Error information.
  - `id` string — Id of the template.
  - `name` string — Name of the template.
  - `status` string — The status of the template creation, such as whether it is in progress, completed, or failed.
  - `tenantName` string — Tenant's name for whom the template is created.

## Other responses

- `201` — created. The request has been fulfilled and resulted in a new resource being created. The newly created resource can be referenced by the URL(s) returned in the entity of the response, with the most specific URL for the resource given by a Location header field.
- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.dev/zuora/apis/api-reference.md) · [All operations](https://skmtc.dev/zuora/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zuora/api-reference/revisions/d11e237f3e54/schema)
