# Create a deployment template 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. Endpoint: POST /deployment-manager/deployment_templates Version: 2026-02-20 Security: bearerAuth ## Header parameters: - `Idempotency-Key` (string) Specify a unique idempotency key if you want to perform an idempotent POST or PATCH request. Do not use this header in other request types. With this header specified, the Zuora server can identify subsequent retries of the same request using this value, which prevents the same operation from being performed multiple times by accident. - `Accept-Encoding` (string) Include the Accept-Encoding: gzip header to compress responses as a gzipped file. It can significantly reduce the bandwidth required for a response. If specified, Zuora automatically compresses responses that contain over 1000 bytes of data, and the response contains a Content-Encoding header with the compression algorithm so that your client can decompress it. - `Content-Encoding` (string) Include the Content-Encoding: gzip header to compress a request. With this header specified, you should upload a gzipped file for the request payload instead of sending the JSON payload. - `Zuora-Entity-Ids` (string) An entity ID. If you have Zuora Multi-entity enabled and the OAuth token is valid for more than one entity, you must use this header to specify which entity to perform the operation in. If the OAuth token is only valid for a single entity, or you do not have Zuora Multi-entity enabled, you should not set this header. - `Zuora-Org-Ids` (string) Comma separated IDs. If you have Zuora Multi-Org enabled, you can use this header to specify which orgs to perform the operation in. If you do not have Zuora Multi-Org enabled, you should not set this header. The IDs must be a sub-set of the user's accessible orgs. If you specify an org that the user does not have access to, the operation fails. This header is important in Multi-Org (MO) setups because it defines the organization context under which the API should operate—mainly used for read access or data visibility filtering. If the header is not set, the operation is performed in scope of the user's accessible orgs. - `Zuora-Track-Id` (string) A custom identifier for tracing the API call. If you set a value for this header, Zuora returns the same value in the response headers. This header enables you to associate your system process identifiers with Zuora API calls, to assist with troubleshooting in the event of an issue. The value of this field must use the US-ASCII character set and must not include any of the following characters: colon (:), semicolon (;), double quote ("), and quote ('). ## Request fields (application/json): - `content` (object) Provides details about the different components that need to be compared and deployed. - `content.customFields` (array) - `content.customFields.errors` (array) - `content.customFields.originalPayload` (object) Json node object contains metadata. - `content.customFields.response` (array) - `content.customFields.response.componentType` (string) Type of Component. - `content.customFields.response.error` (string) Error Information. - `content.customFields.response.id` (string) Id of Each component. - `content.customFields.response.key` (string) Key value of fields inside component. - `content.customFields.response.method` (string) Http method which is used to retrieve the particular component. - `content.customFields.response.payload` (object) Json node object contains metadata. - `content.customFields.response.result` (string) Contains the response of details fetched regarding selected component. - `content.customFields.response.segregationKey` (string) Gives the difference between components and sub components. - `content.customFields.response.templateId` (string) Id of the Template. - `content.customFields.response.url` (string) Metadata is retrieved from this URL. - `content.customFields.segregationKeys` (array) - `content.customObjects` (array) - `content.dataAccessControl` (array) - `content.dataQuery` (array) - `content.multiOrg` (array) - `content.notifications` (array) - `content.organizationHierarchy` (array) - `content.productCatalog` (array) - `content.settings` (array) - `content.workflows` (array) - `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` (array) ConfigurationTemplateContent object contains the selected meta data information. - `settings` (boolean) Selected Settings component or not. - `templateTenant` (string, required) ID of the template tenant. Example: "80b3f8cd-5801-4ed7-bee7-ad1569916c2f" - `workflows` (boolean) Selected Workflow component or not. ## Response 200 fields (application/json): - `active` (boolean) Whether or not the template is active. - `content` (object) Provides details about the different components that need to be compared and deployed. - `content.customFields` (array) - `content.customFields.errors` (array) - `content.customFields.originalPayload` (object) Json node object contains metadata. - `content.customFields.response` (array) - `content.customFields.response.componentType` (string) Type of Component. - `content.customFields.response.error` (string) Error Information. - `content.customFields.response.id` (string) Id of Each component. - `content.customFields.response.key` (string) Key value of fields inside component. - `content.customFields.response.method` (string) Http method which is used to retrieve the particular component. - `content.customFields.response.payload` (object) Json node object contains metadata. - `content.customFields.response.result` (string) Contains the response of details fetched regarding selected component. - `content.customFields.response.segregationKey` (string) Gives the difference between components and sub components. - `content.customFields.response.templateId` (string) Id of the Template. - `content.customFields.response.url` (string) Metadata is retrieved from this URL. - `content.customFields.segregationKeys` (array) - `content.customObjects` (array) - `content.dataAccessControl` (array) - `content.dataQuery` (array) - `content.multiOrg` (array) - `content.notifications` (array) - `content.organizationHierarchy` (array) - `content.productCatalog` (array) - `content.settings` (array) - `content.workflows` (array) - `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. ## Response 400 fields (application/json): - `reasons` (array) Example: [{"code":"ObjectNotFound","message":"Configuration Templates does not exist."}] - `reasons.code` (string) The error code of response. - `reasons.message` (string) A detailed description of the error response. ## Response 401 fields (application/json): - `reasons` (array) Example: [{"code":"ObjectNotFound","message":"Configuration Templates does not exist."}] - `reasons.code` (string) The error code of response. - `reasons.message` (string) A detailed description of the error response. ## Response 403 fields (application/json): - `reasons` (array) Example: [{"code":"ObjectNotFound","message":"Configuration Templates does not exist."}] - `reasons.code` (string) The error code of response. - `reasons.message` (string) A detailed description of the error response. ## Response 404 fields (application/json): - `reasons` (array) Example: [{"code":"ObjectNotFound","message":"Configuration Templates does not exist."}] - `reasons.code` (string) The error code of response. - `reasons.message` (string) A detailed description of the error response. ## Response 201 fields