---
type: api
title: Update Extension
description: Updates an extension.
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/cloud-enterprise/v4/operation/operation-update-extension
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/cloud-enterprise/v4/operation/operation-update-extension
products:
  - Elastic Cloud Enterprise
---

# Update Extension

## Paths

- `POST` `/deployments/extensions/{extension_id}`

- [Basic auth](/elastic/docs-builder/docs/4371/api/doc/cloud-enterprise/v4/authentication#basicauth)
- [Api key auth](/elastic/docs-builder/docs/4371/api/doc/cloud-enterprise/v4/authentication#apikey)

#### Path Parameters

- `extension_id` (string)
  Id of an extension

## Description

Updates an extension.

## Request Body

`application/json`

The extension update data.

- `name` (string) — required
  The extension name.
- `description` (string) — optional
  The extension description.
- `download_url` (string) — optional
  The URL to download the extension archive.
- `extension_type` (enum) — required
  The extension type.
  Values: `plugin`, `bundle`
- `version` (string) — required
  The Elasticsearch version.

## Responses

#### `200`

Extension updated successfully.

`application/json`

- `id` (string)
  The extension ID
- `name` (string)
  The extension name.
- `description` (string)
  The extension description.
- `url` (string)
  The extension URL to be used in the plan.
- `download_url` (string)
  The download URL specified during extension creation.
- `extension_type` (enum)
  The extension type.
  Values: `plugin`, `bundle`
- `version` (string)
  The Elasticsearch version.
- `deployments` ([] string)
  List of deployments using this extension. Up to only 10000 deployments will be included in the list.
- `file_metadata` ({} ExtensionFileMetadata)
  - `last_modified_date` (string)
    The date and time the extension was last modified.
  - `size` (integer)
    The extension file size in bytes.
  - `url` (string)
    The temporary URL to download the extension file. Usable for verification.
##### Response Headers

- `x-cloud-resource-version` (string)
  The resource version, which is used to avoid update conflicts with concurrent operations
- `x-cloud-resource-created` (string)
  The date-time when the resource was created (ISO format relative to UTC)
- `x-cloud-resource-last-modified` (string)
  The date-time when the resource was last modified (ISO format relative to UTC)

#### `400`

Could not download the extension from the specified URL. (code: `extensions.request_execution_failed`)

`application/json`

- `errors` ([] BasicFailedReplyElement)
  A list of errors that occurred in the failing request
  - `code` (string)
    A structured code representing the error type that occurred
  - `message` (string)
    A human readable message describing the error that occurred
  - `fields` ([] string)
    If the error can be tied to a specific field or fields in the user request, this lists those fields
##### Response Headers

- `x-cloud-error-codes` (enum)
  The error codes associated with the response

#### `401`

* The extension does not belong to you. (code: `extensions.unauthorised`)
* Your current session does not have a user id associated with it. (code: `extensions.no_user_id`)

`application/json`

- `errors` ([] BasicFailedReplyElement)
  A list of errors that occurred in the failing request
  - `code` (string)
    A structured code representing the error type that occurred
  - `message` (string)
    A human readable message describing the error that occurred
  - `fields` ([] string)
    If the error can be tied to a specific field or fields in the user request, this lists those fields
##### Response Headers

- `x-cloud-error-codes` (enum)
  The error codes associated with the response

#### `404`

The extension you want does not exist. (code: `extensions.not_found`)

`application/json`

- `errors` ([] BasicFailedReplyElement)
  A list of errors that occurred in the failing request
  - `code` (string)
    A structured code representing the error type that occurred
  - `message` (string)
    A human readable message describing the error that occurred
  - `fields` ([] string)
    If the error can be tied to a specific field or fields in the user request, this lists those fields
##### Response Headers

- `x-cloud-error-codes` (enum)
  The error codes associated with the response

#### `409`

The version you sent does not match the persisted version. (code: `extensions.version_conflict`)

`application/json`

- `errors` ([] BasicFailedReplyElement)
  A list of errors that occurred in the failing request
  - `code` (string)
    A structured code representing the error type that occurred
  - `message` (string)
    A human readable message describing the error that occurred
  - `fields` ([] string)
    If the error can be tied to a specific field or fields in the user request, this lists those fields
##### Response Headers

- `x-cloud-error-codes` (enum)
  The error codes associated with the response

## Code Examples

#### Console

```console
POST /deployments/extensions/{extension_id}
```

#### curl

```curl
curl -X POST "/deployments/extensions/{extension_id}"
```

