---
title: "Get the state of a release target"
method: GET
path: "/v1/workspaces/{workspaceId}/release-targets/{releaseTargetKey}/state"
---

# Get the state of a release target

`GET /v1/workspaces/{workspaceId}/release-targets/{releaseTargetKey}/state`

## Path parameters

- `workspaceId` string, required
- `releaseTargetKey` string, required

## Response `200`

Release target state

- ReleaseTargetStateResponse
  - `currentRelease` Release
    - `createdAt` string, required
    - `encryptedVariables` string[], required
    - `id` string, uuid, required
    - `releaseTarget` ReleaseTarget, required
      - `deploymentId` string, required
      - `environmentId` string, required
      - `resourceId` string, required
    - `variables` object, required
    - `version` DeploymentVersion, required
      - `config` object, required
      - `createdAt` string, date-time, required
      - `deploymentId` string, required
      - `id` string, required
      - `jobAgentConfig` JobAgentConfig, required
      - `message` string
      - `metadata` object, required
      - `name` string, required
      - `status` 'unspecified' | 'building' | 'ready' | 'failed' | 'rejected' | 'paused', required
      - `tag` string, required
  - `desiredRelease` Release
    - `createdAt` string, required
    - `encryptedVariables` string[], required
    - `id` string, uuid, required
    - `releaseTarget` ReleaseTarget, required
      - `deploymentId` string, required
      - `environmentId` string, required
      - `resourceId` string, required
    - `variables` object, required
    - `version` DeploymentVersion, required
      - `config` object, required
      - `createdAt` string, date-time, required
      - `deploymentId` string, required
      - `id` string, required
      - `jobAgentConfig` JobAgentConfig, required
      - `message` string
      - `metadata` object, required
      - `name` string, required
      - `status` 'unspecified' | 'building' | 'ready' | 'failed' | 'rejected' | 'paused', required
      - `tag` string, required
  - `latestJob` object
    - `job` Job, required
      - `completedAt` string, date-time
      - `createdAt` string, date-time, required
      - `dispatchContext` DispatchContext
        - `deployment` Deployment
          - `description` string
          - `id` string, required
          - `jobAgentConfig` JobAgentConfig, required
          - `jobAgentSelector` string, required — CEL expression to match job agents
          - `metadata` object, required
          - `name` string, required
          - `resourceSelector` string — CEL expression to determine if the deployment should be used
          - `slug` string, required
        - `environment` Environment
          - `createdAt` string, date-time, required
          - `description` string
          - `id` string, required
          - `metadata` object, required
          - `name` string, required
          - `resourceSelector` string — CEL expression to determine if the environment should be used
          - `workspaceId` string, required
        - `inputs` object — Resolved input values for the workflow run.
        - `jobAgent` JobAgent, required
          - `config` JobAgentConfig, required
          - `id` string, required
          - `metadata` object
          - `name` string, required
          - `type` string, required
          - `workspaceId` string, required
        - `jobAgentConfig` JobAgentConfig, required
        - `release` Release
          - `createdAt` string, required
          - `encryptedVariables` string[], required
          - `id` string, uuid, required
          - `releaseTarget` ReleaseTarget, required
            - `deploymentId` string, required
            - `environmentId` string, required
            - `resourceId` string, required
          - `variables` object, required
          - `version` DeploymentVersion, required
            - `config` object, required
            - `createdAt` string, date-time, required
            - `deploymentId` string, required
            - `id` string, required
            - `jobAgentConfig` JobAgentConfig, required
            - `message` string
            - `metadata` object, required
            - `name` string, required
            - `status` 'unspecified' | 'building' | 'ready' | 'failed' | 'rejected' | 'paused', required
            - `tag` string, required
        - `resource` Resource
          - `config` object, required
          - `createdAt` string, date-time, required
          - `deletedAt` string, date-time
          - `id` string, required
          - `identifier` string, required
          - `kind` string, required
          - `lockedAt` string, date-time
          - `metadata` object, required
          - `name` string, required
          - `providerId` string
          - `updatedAt` string, date-time
          - `variables` object
          - `version` string, required
          - `workspaceId` string, required
        - `variables` object
        - `version` DeploymentVersion
          - `config` object, required
          - `createdAt` string, date-time, required
          - `deploymentId` string, required
          - `id` string, required
          - `jobAgentConfig` JobAgentConfig, required
          - `message` string
          - `metadata` object, required
          - `name` string, required
          - `status` 'unspecified' | 'building' | 'ready' | 'failed' | 'rejected' | 'paused', required
          - `tag` string, required
        - `workflow` Workflow
          - `id` string, required
          - `inputs` WorkflowInput[], required
            - union
              - …
          - `jobs` WorkflowJobAgent[], required
            - `config` object, required — Configuration for the job agent
            - `name` string, required
            - `ref` string, required — Reference to the job agent
            - `selector` string, required — CEL expression to determine if the job agent should dispatch a job
          - `name` string, required
          - `slug` string, required
        - `workflowJob` WorkflowJob
          - `config` object, required — Configuration for the job agent
          - `id` string, required
          - `index` integer, required
          - `ref` string, required — Reference to the job agent
          - `workflowRunId` string, required
        - `workflowRun` WorkflowRun
          - `id` string, required
          - `inputs` object, required
          - `workflowId` string, required
      - `externalId` string
      - `id` string, required
      - `jobAgentConfig` JobAgentConfig, required
      - `jobAgentId` string, required
      - `message` string
      - `metadata` object, required
      - `releaseId` string, required
      - `startedAt` string, date-time
      - `status` 'cancelled' | 'skipped' | 'inProgress' | 'actionRequired' | 'pending' | 'failure' | 'invalidJobAgent' | 'invalidIntegration' | 'externalRunNotFound' | 'successful' | 'queued', required
      - `traceToken` string
      - `updatedAt` string, date-time, required
      - `workflowJobId` string, required
    - `verifications` object[], required
      - `createdAt` string, date-time, required
      - `id` string, required
      - `jobId` string, required
      - `message` string
      - `metrics` VerificationMetricStatus[], required
        - `count` integer, required — Number of measurements to take
        - `failureCondition` string — CEL expression to evaluate measurement failure (e.g., "result.statusCode == 500"), if not provided, a failure is just the opposite of the success condition
        - `failureThreshold` integer — Stop after this many consecutive failures (0 = no limit)
        - `intervalSeconds` integer, required — Interval between measurements in seconds
        - `name` string, required — Name of the verification metric
        - `provider` union, required
          - HTTPMetricProvider
            - `body` string — Request body (supports Go templates)
            - `headers` object — HTTP headers (values support Go templates)
            - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD' | 'OPTIONS' — HTTP method
            - `timeout` string — Request timeout (duration string, e.g., "30s")
            - `type` 'http', required — Provider type
            - `url` string, required — HTTP endpoint URL (supports Go templates)
          - SleepMetricProvider
            - `durationSeconds` integer, required
            - `type` 'sleep', required — Provider type
          - DatadogMetricProvider
            - `aggregator` 'avg' | 'min' | 'max' | 'sum' | 'last' | 'percentile' | 'mean' | 'l2norm' | 'area' — Datadog aggregator
            - `apiKey` string, required — Datadog API key (supports Go templates for variable references)
            - `appKey` string, required — Datadog Application key (supports Go templates for variable references)
            - `formula` string — Datadog formula (supports Go templates)
            - `intervalSeconds` integer
            - `queries` object, required — Datadog metrics queries (supports Go templates)
            - `site` string — Datadog site URL (e.g., datadoghq.com, datadoghq.eu, us3.datadoghq.com)
            - `type` 'datadog', required — Provider type
          - PrometheusMetricProvider
            - `address` string, required — Prometheus server address (supports Go templates)
            - `authentication` object — Authentication configuration for Prometheus
              - …
            - `headers` object[] — Additional HTTP headers for the Prometheus request (values support Go templates)
              - …
            - `insecure` boolean — Skip TLS certificate verification
            - `query` string, required — PromQL query expression (supports Go templates)
            - `rangeQuery` object — If provided, a range query (/api/v1/query_range) is used instead of an instant query (/api/v1/query)
              - …
            - `timeout` integer — Query timeout in seconds
            - `type` 'prometheus', required — Provider type
          - TerraformCloudRunMetricProvider
            - `address` string, required — Terraform Cloud address
            - `runId` string, required — Terraform Cloud run ID
            - `token` string, required — Terraform Cloud token
            - `type` 'terraformCloudRun', required — Provider type
        - `successCondition` string, required — CEL expression to evaluate measurement success (e.g., "result.statusCode == 200")
        - `successThreshold` integer — Minimum number of consecutive successful measurements required to consider the metric successful
        - `id` string, required
        - `measurements` VerificationMeasurement[], required — Individual verification measurements taken for this metric
          - `data` object, required — Raw measurement data
          - `measuredAt` string, date-time, required — When measurement was taken
          - `message` string — Measurement result message
          - `status` 'passed' | 'failed' | 'inconclusive', required — Status of a verification measurement
      - `status` string, required — Computed aggregate status of this verification

## Other responses

- `400` — Invalid request
- `404` — Resource not found

## Changes

> 50 revisions in range; 1 could not be searched.

- **2026-05-14** `f051c9ac1ba7` — 1 info
  - added the required property `latestJob/job/dispatchContext/workflow/slug` to the response with the `200` status
- **2026-04-16** `f90d884ae2a1` — 1 info
  - added the optional property `latestJob/job/dispatchContext/resource/variables` to the response with the `200` status
- **2026-04-08** `a0abdfdbb749` — 2 warning
  - removed the optional property `latestJob/job/dispatchContext/deployment/jobAgentId` from the response with the `200` status
  - removed the optional property `latestJob/job/dispatchContext/deployment/jobAgents` from the response with the `200` status
- **2026-04-08** `bb21d09ab17e` — 1 info
  - the response property `latestJob/job/dispatchContext/deployment/jobAgentSelector` became required for the status `200`
- **2026-04-07** `e41df2952d9d` — 1 info
  - added the optional property `latestJob/job/dispatchContext/deployment/jobAgentSelector` to the response with the `200` status

[Full history](https://skmtc.dev/ctrlplanedev/apis/workspace-engine-api/changes/v1/workspaces/:workspaceId/release-targets/:releaseTargetKey/state/get.md)

---

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