---
title: "Create deployment"
method: POST
path: "/v1/workspaces/{workspaceId}/deployments"
---

# Create deployment

`POST /v1/workspaces/{workspaceId}/deployments`

## Path parameters

- `workspaceId` string, required

## Request body

- CreateDeploymentRequest
  - `description` string
  - `jobAgentConfig` object
  - `jobAgentId` string
  - `jobAgents` DeploymentJobAgent[]
    - `config` JobAgentConfig, required
    - `ref` string, required
    - `selector` string, required — CEL expression to determine if the job agent should be used
  - `metadata` object
  - `name` string, required
  - `resourceSelector` union
    - JsonSelector
      - `json` object, required
    - CelSelector
      - `cel` string, required
  - `slug` string, required

## Response `202`

Accepted response

- DeploymentRequestAccepted
  - `id` string, required
  - `message` string, required

## Changes

- **2026-02-19** `e61389fc98ac` — 1 breaking, 1 warning, 5 info
  - the `resourceSelector` request property type/format changed from `string`/`` to ``/``
  - removed the request property `jobAgentSelector`
  - added the new optional request property `jobAgentId`
  - added the new optional request property `jobAgents`
  - …3 more

[Change history](https://skmtc.dev/ctrlplanedev/apis/ctrlplane-api/changes/v1/workspaces/:workspaceId/deployments/post.md)

---

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