Deployments - Extensions

List Extensions

Retrieves all of the available extensions.

Request

GET /api/v1/deployments/extensions

Query parameters

Name Type Required Description

include_deployments

boolean; default: false

N

Include deployments referencing this extension. DEPRECATED: To get the list of deployments that reference an extension, use the Get Extension API.

Responses

200

(Extensions) The extensions that are available

To perform this operation, you must be authenticated by means of one of the following methods: apiKey, basicAuth.

Request example

curl -XGET https://api.elastic-cloud.com/api/v1/deployments/extensions \
-H "Authorization: ApiKey $EC_API_KEY"

Create an extension

Creates the extension. The extensions API supports two types of usage patterns. A). Specify a download_url, http or https URL, where the extension is currently hosted. This will result in extension being copied to elastic repository. B). Create only the extension metadata using the POST endpoint and then use PUT to upload the extension file. Leave the download_url unspecified in this case.

Request

POST /api/v1/deployments/extensions

Request body

(CreateExtensionRequest) (required) the data that creates the extension

Responses

201

(Extension) The extension that was just created.

Headers

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)
x-cloud-resource-version (string)
The resource version, which is used to avoid update conflicts with concurrent operations
400

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

Headers

x-cloud-error-codes (string; allowed values: [extensions.request_execution_failed])
The error codes associated with the response
404

(BasicFailedReply) Your current session does not have a user id associated with it. (code: extensions.no_user_id)

Headers

x-cloud-error-codes (string; allowed values: [extensions.no_user_id])
The error codes associated with the response
409

(BasicFailedReply) An extension already exists with the generated id. Please try again. (code: extensions.id_already_exists)

Headers

x-cloud-error-codes (string; allowed values: [extensions.id_already_exists])
The error codes associated with the response

To perform this operation, you must be authenticated by means of one of the following methods: apiKey, basicAuth.

Request example

curl -XPOST https://api.elastic-cloud.com/api/v1/deployments/extensions \
-H "Authorization: ApiKey $EC_API_KEY" \
-d '
{
   "description" : "string",
   "download_url" : "string",
   "extension_type" : "string",
   "name" : "string",
   "version" : "string"
}
'

Delete Extension

Deletes a Extension.

Request

DELETE /api/v1/deployments/extensions/{extension_id}

Path parameters

Name Type Required Description

extension_id

string

Y

Id of an extension

Responses

200

(EmptyResponse) Extension deleted successfully.

Headers

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)
x-cloud-resource-version (string)
The resource version, which is used to avoid update conflicts with concurrent operations
401

(BasicFailedReply) * 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)

Headers

x-cloud-error-codes (string; allowed values: [extensions.unauthorised, extensions.no_user_id])
The error codes associated with the response
404

(BasicFailedReply) The extension requested does not exist. (code: extensions.not_found)

Headers

x-cloud-error-codes (string; allowed values: [extensions.not_found])
The error codes associated with the response
409

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

Headers

x-cloud-error-codes (string; allowed values: [extensions.version_conflict])
The error codes associated with the response

To perform this operation, you must be authenticated by means of one of the following methods: apiKey, basicAuth.

Request example

curl -XDELETE https://api.elastic-cloud.com/api/v1/deployments/extensions/{extension_id} \
-H "Authorization: ApiKey $EC_API_KEY"

Get Extension

Retrieves an extension.

Request

GET /api/v1/deployments/extensions/{extension_id}

Path parameters

Name Type Required Description

extension_id

string

Y

Id of an extension

Query parameters

Name Type Required Description

include_deployments

boolean; default: false

N

Include deployments referencing this extension. Up to only 10000 deployments will be included.

Responses

200

(Extension) The Extension

Headers

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)
x-cloud-resource-version (string)
The resource version, which is used to avoid update conflicts with concurrent operations
404

(BasicFailedReply) The extension requested does not exist. (code: extensions.not_found)

Headers

x-cloud-error-codes (string; allowed values: [extensions.not_found])
The error codes associated with the response

To perform this operation, you must be authenticated by means of one of the following methods: apiKey, basicAuth.

Request example

curl -XGET https://api.elastic-cloud.com/api/v1/deployments/extensions/{extension_id} \
-H "Authorization: ApiKey $EC_API_KEY"

Update Extension

Updates an extension.

Request

POST /api/v1/deployments/extensions/{extension_id}

Path parameters

Name Type Required Description

extension_id

string

Y

Id of an extension

Request body

(UpdateExtensionRequest) (required) The extension update data.

Responses

200

(Extension) Extension updated successfully.

Headers

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)
x-cloud-resource-version (string)
The resource version, which is used to avoid update conflicts with concurrent operations
400

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

Headers

x-cloud-error-codes (string; allowed values: [extensions.request_execution_failed])
The error codes associated with the response
401

(BasicFailedReply) * 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)

Headers

x-cloud-error-codes (string; allowed values: [extensions.unauthorised, extensions.no_user_id])
The error codes associated with the response
404

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

Headers

x-cloud-error-codes (string; allowed values: [extensions.not_found])
The error codes associated with the response
409

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

Headers

x-cloud-error-codes (string; allowed values: [extensions.version_conflict])
The error codes associated with the response

To perform this operation, you must be authenticated by means of one of the following methods: apiKey, basicAuth.

Request example

curl -XPOST https://api.elastic-cloud.com/api/v1/deployments/extensions/{extension_id} \
-H "Authorization: ApiKey $EC_API_KEY" \
-d '
{
   "description" : "string",
   "download_url" : "string",
   "extension_type" : "string",
   "name" : "string",
   "version" : "string"
}
'

Uploads the Extension

Uploads archive for an extension.

Request

PUT /api/v1/deployments/extensions/{extension_id}

Path parameters

Name Type Required Description

extension_id

string

Y

Id of an extension

Form Parameters

Name Type Required Description

file

file

Y

Zip file that contains the extension

Responses

200

(Extension) Archive uploaded successfully.

Headers

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)
x-cloud-resource-version (string)
The resource version, which is used to avoid update conflicts with concurrent operations
400

(BasicFailedReply) Could not accept the extensions file. (code: extensions.request_execution_failed)

Headers

x-cloud-error-codes (string; allowed values: [extensions.request_execution_failed])
The error codes associated with the response
401

(BasicFailedReply) * 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)

Headers

x-cloud-error-codes (string; allowed values: [extensions.unauthorised, extensions.no_user_id])
The error codes associated with the response
404

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

Headers

x-cloud-error-codes (string; allowed values: [extensions.not_found])
The error codes associated with the response

To perform this operation, you must be authenticated by means of one of the following methods: apiKey, basicAuth.

Request example

curl -XPUT https://api.elastic-cloud.com/api/v1/deployments/extensions/{extension_id} \
-H "Authorization: ApiKey $EC_API_KEY" \
-H 'Content-Type: multipart/form-data'