---
title: "Deploy a container deployment template"
method: POST
path: "/v1/container-deployment-templates/{template_id}/deployments"
tags: ["Serverless Containers"]
---

# Deploy a container deployment template

`POST /v1/container-deployment-templates/{template_id}/deployments`

## Request

- Base URL: `https://api.verda.com`
- URL: `https://api.verda.com/v1/container-deployment-templates/{template_id}/deployments`
- Auth: HTTP bearer

## Path parameters

- `template_id` string, required

## Request body

- DeployContainerDeploymentTemplatePublicApiDto
  - `name` string, required: Name of the deployment. Immutable after creation
  - `variant` string: Variant id from the template detail. Defaults to the first variant
  - `features` string[]: Feature ids to enable. Defaults to the features marked is_default
  - `compute` ComputeResource
    - `name` string, required: Name of the compute resource
    - `size` number, required: Number of compute units (e.g. 4 GPUs). Default is 1
  - `hf_token_secret_name` string: Name of an existing secret (POST /secrets) holding a Hugging Face token. Required for gated models
  - `shm_size_mb` 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192 | 16384 | 32768: Size of the /dev/shm memory volume in MiB. Defaults to a size based on the GPU count (1 GPU: 1024, 2: 4096, 4: 8192, 8: 16384) or the template default
  - `scaling` PatchScalingOptionsPublicApiDto
    - `min_replica_count` number: Minimum number of replicas
    - `max_replica_count` number: Maximum number of replicas
    - `scale_down_policy` ScalingPolicy
      - `delay_seconds` number, required: Cooldown period in seconds before the deployment scales up or down
    - `scale_up_policy` ScalingPolicy
      - `delay_seconds` number, required: Cooldown period in seconds before the deployment scales up or down
    - `queue_message_ttl_seconds` number: Duration in seconds after which messages in the queue will be dropped
    - `concurrent_requests_per_replica` number: Number of requests each replica can process concurrently.
    - `scaling_triggers` PatchScalingTriggers
      - `queue_load` QueueLoadScalingTrigger
        - `threshold` number, required: Threshold value for queue load. Queue item to replica ratio
      - `cpu_utilization` UtilizationScalingTrigger
        - `enabled` boolean, required: Is the trigger enabled
        - `threshold` number, required: Threshold value for utilization, in percent
      - `gpu_utilization` UtilizationScalingTrigger
        - `enabled` boolean, required: Is the trigger enabled
        - `threshold` number, required: Threshold value for utilization, in percent

## Response `201`

Returns the created container deployment

- DeploymentPublicApiResponseDto
  - `name` string, required: Deployment name
  - `containers` ContainerPublicApiResponseDto[], required: Containers in the deployment
    - `should_use_cached_image` boolean: Pull the image through the platform image cache. Applies only to public Docker Hub images. Has no effect for images from other registries, or when registry credentials are set. When the cache is used, registry credentials are not needed to avoid Docker Hub rate limits, because the cache pulls with a platform account. Without the cache, this does not apply.
    - `exposed_port` number, required: Port to be exposed by the container
    - `healthcheck` HealthcheckSettings
      - `enabled` boolean, required: Is healthcheck enabled for the container. It it used to check if the container is ready to accept traffic
      - `port` number, required: Port to be used for healthcheck
      - `path` string, required: Path to be used for healthcheck
    - `entrypoint_overrides` EntrypointOverridesSettings
      - `enabled` boolean, required: Is the default docker start command and arguments overridden
      - `entrypoint` string[]: Entrypoint command to start the container
      - `cmd` string[]: Arguments to the entrypoint command
    - `env` EnvVarPublicApi[]: Environment variables for the container
      - `name` string, required: Name of the environment variable
      - `value_or_reference_to_secret` string, required: Value of the environment variable, or a reference to the secret
      - `type` 'plain' | 'secret', required: Type of the environment variable
    - `volume_mounts` union[]: Volume mounts for the container
      - union
        - ScratchVolumeMountDto
          - `type` 'scratch', required: Type of the volume
          - `mount_path` string, required: Path in the container where the volume will be mounted
        - SecretVolumeMountDto
          - `type` 'secret', required: Type of the volume
          - `mount_path` string, required: Path in the container where the volume will be mounted.
          - `secret_name` string, required: Name of the fileset secret to be mounted
        - SharedVolumeMountDto
          - `type` 'shared', required: Type of the volume
          - `mount_path` string, required: Path in the container where the volume will be mounted.
          - `volume_id` string, required: ID of the shared volume to be mounted
        - MemoryVolumeMountDto
          - `type` 'memory', required: Type of the volume
          - `mount_path` string, required: Path in the container where the volume will be mounted. This setting is fixed for now and cannot be changed
          - `size_in_mb` 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192 | 16384 | 32768, required: Size of memory volume in MiB
    - `image` object, required: Image details
    - `name` string, required: Container name
  - `endpoint_base_url` string, required: The base URL of the endpoint
  - `created_at` string, required
  - `compute` ComputeResource, required
    - `name` string, required: Name of the compute resource
    - `size` number, required: Number of compute units (e.g. 4 GPUs). Default is 1
  - `container_registry_settings` ContainerRegistrySettingsPublicApiDto, required
    - `is_private` boolean, required: Privacy mode of the container registry - is it public or private
    - `credentials` ContainerRegistryCredentials, required
      - `name` string, required: Credential name of the secret containing the credentials
  - `is_spot` boolean, required

## Other responses

- `401`: Unauthorized

## Changes

- **2026-09-14** `5d3a4de67175`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/datacrunch/apis/verda-cloud-public-api/changes/v1/container-deployment-templates/:template_id/deployments/post.md)

---

[API](https://skmtc.dev/datacrunch/apis/verda-cloud-public-api.md) · [All operations](https://skmtc.dev/datacrunch/apis/verda-cloud-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/datacrunch/apis/verda-cloud-public-api/revisions/05b167f797de?raw)
