Deployments - Extensions

edit

List Extensions

edit

Retrieves all of the available extensions.

Request

edit

GET /api/v1/deployments/extensions

Responses

edit
200

(Extensions)

The extensions that are available

Request example

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

Create an extension

edit

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

edit

POST /api/v1/deployments/extensions

Request body

edit

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

Responses

edit
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

Request example

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

Delete Extension

edit

Deletes a Extension.

Request

edit

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

Path parameters

edit
Name Type Required Description

extension_id

string

Y

Id of an extension

Responses

edit
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

Request example

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

Get Extension

edit

Retrieves an extension.

Request

edit

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

Path parameters

edit
Name Type Required Description

extension_id

string

Y

Id of an extension

Query parameters

edit
Name Type Required Description

include_deployments

boolean; default: false

N

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

Responses

edit
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

Request example

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

Update Extension

edit

Updates an extension.

Request

edit

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

Path parameters

edit
Name Type Required Description

extension_id

string

Y

Id of an extension

Request body

edit

(UpdateExtensionRequest) (required) The extension update data.

Responses

edit
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

Request example

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

Uploads the Extension

edit

Uploads archive for an extension.

Request

edit

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

Path parameters

edit
Name Type Required Description

extension_id

string

Y

Id of an extension

Form Parameters

edit
Name Type Required Description

file

file

Y

Zip file that contains the extension

Responses

edit
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

Request example

edit
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'