---
title: "Update cloud onboarding deployment"
method: PUT
path: "/api/fleet/cloud_onboarding_deployments/{id}"
tags: ["Fleet cloud onboarding deployments"]
---

# Update cloud onboarding deployment

`PUT /api/fleet/cloud_onboarding_deployments/{id}`

**Spaces method and path for this operation:**

<div><span class="operation-verb put">put</span>&nbsp;<span class="operation-path">/s/{space_id}/api/fleet/cloud_onboarding_deployments/{id}</span></div>

Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.

Update a cloud onboarding deployment by ID.<br/><br/>[Required authorization] Route required privileges: fleet-agent-policies-all OR integrations-all.

## Path parameters

- `id` string, required

## Headers

- `kbn-xsrf` string, required

## Request body

- object
  - `agentPolicyId` string
  - `apiKeyId` string
  - `attemptCount` number — Incremented by callers performing a retry.
  - `authMethod` 'identity_federation' | 'static_keys' | 'null', nullable
  - `connectorId` string, nullable
  - `deploymentId` string — CFN stack ARN (or equivalent); provided by the client after manual deployment.
  - `deploymentName` string
  - `ecfStacks` object[] — ECF CloudFormation stacks to record for this deployment.
    - `family` 'unified' | 'otel' | 'crowdstrike', required — ECF template family.
    - `stackName` string, required — CloudFormation stack name (128-char AWS limit).
    - `templateVersion` string, required — ECF semantic version resolved at launch time, e.g. "1.10.0".
  - `mechanisms` string[] — Delivery mechanisms active in this deployment. Replaces the stored mechanisms array.
  - `packagePolicyIds` string[]
  - `policyIdsByInstance` object
  - `services` string[] — Updated service list. Replaces the stored services array.
  - `serviceVars` object — Per-service config keyed by instance ID.
  - `status` 'pending' | 'deploying' | 'succeeded' | 'failed' — Deployment status.
  - `statusMessage` string — Error context; set when transitioning to failed.

## Response `200`

Successful response

- object
  - `item` object, required
    - `agentPolicyId` string — Agent policy ID created for agent-based deployments. Present only when agent_based is in mechanisms.
    - `apiKeyId` string — Elasticsearch API key ID for push mechanisms (ecf). Set by the backend; used for key rotation/revocation.
    - `attemptCount` number, required — Number of deployment attempts, including the current one.
    - `authMethod` 'identity_federation' | 'static_keys' — Authentication method for managed integrations.
    - `connectorId` string — ID of the fleet-cloud-connector this deployment belongs to. Absent for static-keys deployments.
    - `dataFormat` 'ecs' | 'otel' — Data format: ecs or otel.
    - `deploymentId` string — Opaque deployment identifier; for AWS, the CFN stack ARN.
    - `deploymentName` string — Opaque deployment name; for AWS, the CFN stack name.
    - `ecfStacks` object[] — ECF CloudFormation stacks launched as part of this deployment. Written by the wizard after the user clicks Launch.
      - `family` 'unified' | 'otel' | 'crowdstrike', required — ECF template family.
      - `stackName` string, required — CloudFormation stack name (128-char AWS limit).
      - `templateVersion` string, required — ECF semantic version resolved at launch time, e.g. "1.10.0".
    - `globalRegion` string — Global AWS region from the Service Settings step.
    - `id` string, required
    - `mechanisms` string[], required
    - `packagePolicyIds` string[] — Package policy IDs created for managed_integration services.
    - `policyIdsByInstance` object — instanceId → policyId mapping persisted after deploy. Hydrated into the wizard on resume to enable cleanup of stale policies when services are removed.
    - `provider` 'aws' | 'azure' | 'gcp', required — Cloud provider.
    - `services` string[], required — Service IDs covered by this deployment.
    - `serviceVars` object — Per-service config keyed by instance ID. Each value is the ServiceVars object from the Service Settings step.
    - `status` 'pending' | 'deploying' | 'succeeded' | 'failed', required — Deployment status.
    - `statusMessage` string — Error context when status is failed.

## Other responses

- `400` — Bad Request
- `404` — Not Found

## Changes

> 176 revisions in range; 20 not diffed.

- **2026-09-11** `d23c2a83765f` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/elastic/apis/kibana-apis/changes/api/fleet/cloud_onboarding_deployments/:id/put.md)

---

[API](https://skmtc.dev/elastic/apis/kibana-apis.md) · [All operations](https://skmtc.dev/elastic/apis/kibana-apis/llms.txt) · [OpenAPI document](https://skmtc.dev/elastic/apis/kibana-apis/revisions/84f30e7da461?raw)
