---
title: "Apply a Deployment (idempotent upsert)"
method: PUT
path: "/v0/deployments/{name}"
---

# Apply a Deployment (idempotent upsert)

`PUT /v0/deployments/{name}`

## Path parameters

- `name` string, required

## Query parameters

- `namespace` string — Namespace (internal; defaults to 'default').

## Request body

- Deployment
  - `apiVersion` string, required
  - `kind` string, required
  - `metadata` ObjectMeta, required
    - `annotations` object
    - `createdAt` string, date-time
    - `deletionTimestamp` string, date-time
    - `labels` object
    - `name` string, required
    - `namespace` string
    - `tag` string
    - `uid` string
    - `updatedAt` string, date-time
  - `spec` DeploymentSpec, required
    - `deploymentRefs` DeploymentRef[], nullable
      - `name` string, required
      - `namespace` string
    - `desiredState` string
    - `env` object
    - `envFrom` EnvFromSource[], nullable
      - `secretRef` SecretEnvSource
        - `name` string, required
    - `harness` DeploymentHarness
      - `permissionMode` string
      - `type` string, required
    - `modelRef` ModelRef
      - `name` string, required
      - `namespace` string
      - `tag` string
    - `runtimeConfig` object
    - `runtimeRef` ResourceRef, required
      - `kind` string, required
      - `name` string, required
      - `namespace` string
      - `tag` string
    - `targetRef` ResourceRef, required
      - `kind` string, required
      - `name` string, required
      - `namespace` string
      - `tag` string
  - `status` Status
    - `conditions` Condition[], nullable
      - `lastTransitionTime` string, date-time
      - `message` string
      - `reason` string
      - `status` string, required
      - `type` string, required
    - `details` unknown

## Response `200`

OK

- Deployment
  - `apiVersion` string, required
  - `kind` string, required
  - `metadata` ObjectMeta, required
    - `annotations` object
    - `createdAt` string, date-time
    - `deletionTimestamp` string, date-time
    - `labels` object
    - `name` string, required
    - `namespace` string
    - `tag` string
    - `uid` string
    - `updatedAt` string, date-time
  - `spec` DeploymentSpec, required
    - `deploymentRefs` DeploymentRef[], nullable
      - `name` string, required
      - `namespace` string
    - `desiredState` string
    - `env` object
    - `envFrom` EnvFromSource[], nullable
      - `secretRef` SecretEnvSource
        - `name` string, required
    - `harness` DeploymentHarness
      - `permissionMode` string
      - `type` string, required
    - `modelRef` ModelRef
      - `name` string, required
      - `namespace` string
      - `tag` string
    - `runtimeConfig` object
    - `runtimeRef` ResourceRef, required
      - `kind` string, required
      - `name` string, required
      - `namespace` string
      - `tag` string
    - `targetRef` ResourceRef, required
      - `kind` string, required
      - `name` string, required
      - `namespace` string
      - `tag` string
  - `status` Status
    - `conditions` Condition[], nullable
      - `lastTransitionTime` string, date-time
      - `message` string
      - `reason` string
      - `status` string, required
      - `type` string, required
    - `details` unknown

## Other responses

- `default` — Error

---

[API](https://skmtc.net/agentregistry-dev/apis/agentregistry.md) · [All operations](https://skmtc.net/agentregistry-dev/apis/agentregistry/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/agentregistry-dev/agentregistry/versions/6f729cacb3b7/schema)
