openapi: 3.2.0
info:
title: Elasticsearch License API
description: 'Elasticsearch provides REST APIs that are used by the UI components and can be called directly to configure and access Elasticsearch features.
## Documentation source and versions
This documentation is derived from the main branch of the elasticsearch-specification repository. It is provided under license Attribution-NonCommercial-NoDerivatives 4.0 International.
This documentation contains work-in-progress information for future Elastic Stack releases.'
license:
name: Apache 2.0
url: https://github.com/elastic/elasticsearch-specification/blob/main/LICENSE
version: ''
security:
- apiKeyAuth: []
- basicAuth: []
- bearerAuth: []
tags:
- name: License
description: Licensing APIs enable you to manage your licenses.
externalDocs:
description: Learn more.
url: https://www.elastic.co/subscriptions
x-displayName: Licensing
paths:
/_license:
get:
tags:
- License
summary: Get license information
description: 'Get information about your Elastic license including its type, its status, when it was issued, and when it expires.
>info
> If the master node is generating a new cluster state, the get license API may return a `404 Not Found` response.
> If you receive an unexpected 404 response after cluster startup, wait a short period and retry the request.'
operationId: license-get
parameters:
- in: query
name: accept_enterprise
description: 'If `true`, this parameter returns enterprise for Enterprise license types. If `false`, this parameter returns platinum for both platinum and enterprise license types. This behavior is maintained for backwards compatibility.
This parameter is deprecated and will always be set to true in 8.x.'
deprecated: true
schema:
type: boolean
style: form
- in: query
name: local
description: 'Specifies whether to retrieve local information.
From 9.2 onwards the default value is `true`, which means the information is retrieved from the responding node.
In earlier versions the default is `false`, which means the information is retrieved from the elected master node.'
deprecated: false
schema:
type: boolean
style: form
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
license:
allOf:
- $ref: '#/components/schemas/license.get.LicenseInformation'
required:
- license
examples:
GetLicenseResponseExample1:
description: A successful response from `GET /_license`.
value: "{\n \"license\" : {\n \"status\" : \"active\",\n \"uid\" : \"cbff45e7-c553-41f7-ae4f-9205eabd80xx\",\n \"type\" : \"trial\",\n \"issue_date\" : \"2018-10-20T22:05:12.332Z\",\n \"issue_date_in_millis\" : 1540073112332,\n \"expiry_date\" : \"2018-11-19T22:05:12.332Z\",\n \"expiry_date_in_millis\" : 1542665112332,\n \"max_nodes\" : 1000,\n \"max_resource_units\" : null,\n \"issued_to\" : \"test\",\n \"issuer\" : \"elasticsearch\",\n \"start_date_in_millis\" : -1\n }\n}"
x-state: Generally available
x-variations:
- "
\n GET\n /_license\n
\n "
x-api: get.license
x-category: info
x-codeSamples:
- lang: Console
source: 'GET /_license
'
- lang: Python
source: resp = client.license.get()
- lang: JavaScript
source: const response = await client.license.get();
- lang: Ruby
source: response = client.license.get
- lang: PHP
source: $resp = $client->license()->get();
- lang: curl
source: 'curl -X GET -H "Authorization: ApiKey $ELASTIC_API_KEY" "$ELASTICSEARCH_URL/_license"'
- lang: Java
source: 'client.license().get(g -> g);
'
x-metaTags:
- content: Elasticsearch
name: product_name
put:
tags:
- License
summary: Update the license
description: 'You can update your license at runtime without shutting down your nodes.
License updates take effect immediately.
If the license you are installing does not support all of the features that were available with your previous license, however, you are notified in the response.
You must then re-submit the API request with the acknowledge parameter set to true.
NOTE: If Elasticsearch security features are enabled and you are installing a gold or higher license, you must enable TLS on the transport networking layer before you install the license.
If the operator privileges feature is enabled, only operator users can use this API.'
operationId: license-post
parameters:
- in: query
name: acknowledge
description: Specifies whether you acknowledge the license changes.
deprecated: false
schema:
type: boolean
style: form
- in: query
name: master_timeout
description: The period to wait for a connection to the master node.
deprecated: false
schema:
$ref: '#/components/schemas/_types.Duration'
style: form
- in: query
name: timeout
description: The period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error.
deprecated: false
schema:
$ref: '#/components/schemas/_types.Duration'
style: form
requestBody:
content:
application/json:
schema:
type: object
properties:
license:
allOf:
- $ref: '#/components/schemas/license._types.License'
licenses:
description: A sequence of one or more JSON documents containing the license information.
type: array
items:
$ref: '#/components/schemas/license._types.License'
examples:
PostLicenseRequestExample1:
description: 'Run `PUT _license` to update to a basic license. NOTE: These values are invalid; you must substitute the appropriate contents from your license file.
'
value: "{\n \"licenses\": [\n {\n \"uid\":\"893361dc-9749-4997-93cb-802e3d7fa4xx\",\n \"type\":\"basic\",\n \"issue_date_in_millis\":1411948800000,\n \"expiry_date_in_millis\":1914278399999,\n \"max_nodes\":1,\n \"issued_to\":\"issuedTo\",\n \"issuer\":\"issuer\",\n \"signature\":\"xx\"\n }\n ]\n}"
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
acknowledge:
allOf:
- $ref: '#/components/schemas/license.post.Acknowledgement'
acknowledged:
type: boolean
license_status:
allOf:
- $ref: '#/components/schemas/license._types.LicenseStatus'
required:
- acknowledged
- license_status
examples:
PostLicenseResponseExample1:
description: If you update to a basic license and you previously had a license with more features, you receive this type of response. You must re-submit the API request and set the `acknowledge` parameter to `true`.
value: "{\n \"acknowledged\": false,\n \"license_status\": \"valid\",\n \"acknowledge\": {\n \"message\": \"\\\"\\\"\\\"This license update requires acknowledgement. To acknowledge the license, please read the following messages and update the license again, this time with the \\\"acknowledge=true\\\" parameter:\\\"\\\"\\\"\",\n \"watcher\": [\n \"Watcher will be disabled\"\n ],\n \"logstash\": [\n \"Logstash will no longer poll for centrally-managed pipelines\"\n ],\n \"security\": [\n \"The following X-Pack security functionality will be disabled ...\"\n ]\n }\n}"
x-state: Generally available
x-variations:
- "\n PUT\n /_license\n
\n "
- "\n POST\n /_license\n
\n "
x-req-auth:
- 'Cluster privileges: `manage`
'
x-api: post.license
x-category: info
x-codeSamples:
- lang: Console
source: "PUT _license\n{\n \"licenses\": [\n {\n \"uid\":\"893361dc-9749-4997-93cb-802e3d7fa4xx\",\n \"type\":\"basic\",\n \"issue_date_in_millis\":1411948800000,\n \"expiry_date_in_millis\":1914278399999,\n \"max_nodes\":1,\n \"issued_to\":\"issuedTo\",\n \"issuer\":\"issuer\",\n \"signature\":\"xx\"\n }\n ]\n}"
- lang: Python
source: "resp = client.license.post(\n licenses=[\n {\n \"uid\": \"893361dc-9749-4997-93cb-802e3d7fa4xx\",\n \"type\": \"basic\",\n \"issue_date_in_millis\": 1411948800000,\n \"expiry_date_in_millis\": 1914278399999,\n \"max_nodes\": 1,\n \"issued_to\": \"issuedTo\",\n \"issuer\": \"issuer\",\n \"signature\": \"xx\"\n }\n ],\n)"
- lang: JavaScript
source: "const response = await client.license.post({\n licenses: [\n {\n uid: \"893361dc-9749-4997-93cb-802e3d7fa4xx\",\n type: \"basic\",\n issue_date_in_millis: 1411948800000,\n expiry_date_in_millis: 1914278399999,\n max_nodes: 1,\n issued_to: \"issuedTo\",\n issuer: \"issuer\",\n signature: \"xx\",\n },\n ],\n});"
- lang: Ruby
source: "response = client.license.post(\n body: {\n \"licenses\": [\n {\n \"uid\": \"893361dc-9749-4997-93cb-802e3d7fa4xx\",\n \"type\": \"basic\",\n \"issue_date_in_millis\": 1411948800000,\n \"expiry_date_in_millis\": 1914278399999,\n \"max_nodes\": 1,\n \"issued_to\": \"issuedTo\",\n \"issuer\": \"issuer\",\n \"signature\": \"xx\"\n }\n ]\n }\n)"
- lang: PHP
source: "$resp = $client->license()->post([\n \"body\" => [\n \"licenses\" => array(\n [\n \"uid\" => \"893361dc-9749-4997-93cb-802e3d7fa4xx\",\n \"type\" => \"basic\",\n \"issue_date_in_millis\" => 1411948800000,\n \"expiry_date_in_millis\" => 1914278399999,\n \"max_nodes\" => 1,\n \"issued_to\" => \"issuedTo\",\n \"issuer\" => \"issuer\",\n \"signature\" => \"xx\",\n ],\n ),\n ],\n]);"
- lang: curl
source: 'curl -X PUT -H "Authorization: ApiKey $ELASTIC_API_KEY" -H "Content-Type: application/json" -d ''{"licenses":[{"uid":"893361dc-9749-4997-93cb-802e3d7fa4xx","type":"basic","issue_date_in_millis":1411948800000,"expiry_date_in_millis":1914278399999,"max_nodes":1,"issued_to":"issuedTo","issuer":"issuer","signature":"xx"}]}'' "$ELASTICSEARCH_URL/_license"'
- lang: Java
source: "client.license().post(p -> p\n .licenses(l -> l\n .expiryDateInMillis(1914278399999L)\n .issueDateInMillis(1411948800000L)\n .issuedTo(\"issuedTo\")\n .issuer(\"issuer\")\n .maxNodes(1L)\n .signature(\"xx\")\n .type(LicenseType.Basic)\n .uid(\"893361dc-9749-4997-93cb-802e3d7fa4xx\")\n )\n);\n"
x-metaTags:
- content: Elasticsearch
name: product_name
post:
tags:
- License
summary: Update the license
description: 'You can update your license at runtime without shutting down your nodes.
License updates take effect immediately.
If the license you are installing does not support all of the features that were available with your previous license, however, you are notified in the response.
You must then re-submit the API request with the acknowledge parameter set to true.
NOTE: If Elasticsearch security features are enabled and you are installing a gold or higher license, you must enable TLS on the transport networking layer before you install the license.
If the operator privileges feature is enabled, only operator users can use this API.'
operationId: license-post-1
parameters:
- in: query
name: acknowledge
description: Specifies whether you acknowledge the license changes.
deprecated: false
schema:
type: boolean
style: form
- in: query
name: master_timeout
description: The period to wait for a connection to the master node.
deprecated: false
schema:
$ref: '#/components/schemas/_types.Duration'
style: form
- in: query
name: timeout
description: The period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error.
deprecated: false
schema:
$ref: '#/components/schemas/_types.Duration'
style: form
requestBody:
content:
application/json:
schema:
type: object
properties:
license:
allOf:
- $ref: '#/components/schemas/license._types.License'
licenses:
description: A sequence of one or more JSON documents containing the license information.
type: array
items:
$ref: '#/components/schemas/license._types.License'
examples:
PostLicenseRequestExample1:
description: 'Run `PUT _license` to update to a basic license. NOTE: These values are invalid; you must substitute the appropriate contents from your license file.
'
value: "{\n \"licenses\": [\n {\n \"uid\":\"893361dc-9749-4997-93cb-802e3d7fa4xx\",\n \"type\":\"basic\",\n \"issue_date_in_millis\":1411948800000,\n \"expiry_date_in_millis\":1914278399999,\n \"max_nodes\":1,\n \"issued_to\":\"issuedTo\",\n \"issuer\":\"issuer\",\n \"signature\":\"xx\"\n }\n ]\n}"
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
acknowledge:
allOf:
- $ref: '#/components/schemas/license.post.Acknowledgement'
acknowledged:
type: boolean
license_status:
allOf:
- $ref: '#/components/schemas/license._types.LicenseStatus'
required:
- acknowledged
- license_status
examples:
PostLicenseResponseExample1:
description: If you update to a basic license and you previously had a license with more features, you receive this type of response. You must re-submit the API request and set the `acknowledge` parameter to `true`.
value: "{\n \"acknowledged\": false,\n \"license_status\": \"valid\",\n \"acknowledge\": {\n \"message\": \"\\\"\\\"\\\"This license update requires acknowledgement. To acknowledge the license, please read the following messages and update the license again, this time with the \\\"acknowledge=true\\\" parameter:\\\"\\\"\\\"\",\n \"watcher\": [\n \"Watcher will be disabled\"\n ],\n \"logstash\": [\n \"Logstash will no longer poll for centrally-managed pipelines\"\n ],\n \"security\": [\n \"The following X-Pack security functionality will be disabled ...\"\n ]\n }\n}"
x-state: Generally available
x-variations:
- "\n PUT\n /_license\n
\n "
- "\n POST\n /_license\n
\n "
x-req-auth:
- 'Cluster privileges: `manage`
'
x-api: post.license
x-category: info
x-codeSamples:
- lang: Console
source: "PUT _license\n{\n \"licenses\": [\n {\n \"uid\":\"893361dc-9749-4997-93cb-802e3d7fa4xx\",\n \"type\":\"basic\",\n \"issue_date_in_millis\":1411948800000,\n \"expiry_date_in_millis\":1914278399999,\n \"max_nodes\":1,\n \"issued_to\":\"issuedTo\",\n \"issuer\":\"issuer\",\n \"signature\":\"xx\"\n }\n ]\n}"
- lang: Python
source: "resp = client.license.post(\n licenses=[\n {\n \"uid\": \"893361dc-9749-4997-93cb-802e3d7fa4xx\",\n \"type\": \"basic\",\n \"issue_date_in_millis\": 1411948800000,\n \"expiry_date_in_millis\": 1914278399999,\n \"max_nodes\": 1,\n \"issued_to\": \"issuedTo\",\n \"issuer\": \"issuer\",\n \"signature\": \"xx\"\n }\n ],\n)"
- lang: JavaScript
source: "const response = await client.license.post({\n licenses: [\n {\n uid: \"893361dc-9749-4997-93cb-802e3d7fa4xx\",\n type: \"basic\",\n issue_date_in_millis: 1411948800000,\n expiry_date_in_millis: 1914278399999,\n max_nodes: 1,\n issued_to: \"issuedTo\",\n issuer: \"issuer\",\n signature: \"xx\",\n },\n ],\n});"
- lang: Ruby
source: "response = client.license.post(\n body: {\n \"licenses\": [\n {\n \"uid\": \"893361dc-9749-4997-93cb-802e3d7fa4xx\",\n \"type\": \"basic\",\n \"issue_date_in_millis\": 1411948800000,\n \"expiry_date_in_millis\": 1914278399999,\n \"max_nodes\": 1,\n \"issued_to\": \"issuedTo\",\n \"issuer\": \"issuer\",\n \"signature\": \"xx\"\n }\n ]\n }\n)"
- lang: PHP
source: "$resp = $client->license()->post([\n \"body\" => [\n \"licenses\" => array(\n [\n \"uid\" => \"893361dc-9749-4997-93cb-802e3d7fa4xx\",\n \"type\" => \"basic\",\n \"issue_date_in_millis\" => 1411948800000,\n \"expiry_date_in_millis\" => 1914278399999,\n \"max_nodes\" => 1,\n \"issued_to\" => \"issuedTo\",\n \"issuer\" => \"issuer\",\n \"signature\" => \"xx\",\n ],\n ),\n ],\n]);"
- lang: curl
source: 'curl -X PUT -H "Authorization: ApiKey $ELASTIC_API_KEY" -H "Content-Type: application/json" -d ''{"licenses":[{"uid":"893361dc-9749-4997-93cb-802e3d7fa4xx","type":"basic","issue_date_in_millis":1411948800000,"expiry_date_in_millis":1914278399999,"max_nodes":1,"issued_to":"issuedTo","issuer":"issuer","signature":"xx"}]}'' "$ELASTICSEARCH_URL/_license"'
- lang: Java
source: "client.license().post(p -> p\n .licenses(l -> l\n .expiryDateInMillis(1914278399999L)\n .issueDateInMillis(1411948800000L)\n .issuedTo(\"issuedTo\")\n .issuer(\"issuer\")\n .maxNodes(1L)\n .signature(\"xx\")\n .type(LicenseType.Basic)\n .uid(\"893361dc-9749-4997-93cb-802e3d7fa4xx\")\n )\n);\n"
x-metaTags:
- content: Elasticsearch
name: product_name
delete:
tags:
- License
summary: Delete the license
description: 'When the license expires, your subscription level reverts to Basic.
If the operator privileges feature is enabled, only operator users can use this API.'
externalDocs:
url: https://www.elastic.co/docs/deploy-manage/license/manage-your-license-in-self-managed-cluster
x-previousVersionUrl: https://www.elastic.co/guide/en/elasticsearch/reference/8.19/delete-license.html
operationId: license-delete
parameters:
- in: query
name: master_timeout
description: The period to wait for a connection to the master node.
deprecated: false
schema:
$ref: '#/components/schemas/_types.Duration'
style: form
- in: query
name: timeout
description: The period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error.
deprecated: false
schema:
$ref: '#/components/schemas/_types.Duration'
style: form
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/_types.AcknowledgedResponseBase'
x-state: Generally available
x-variations:
- "\n DELETE\n /_license\n
\n "
x-req-auth:
- 'Cluster privileges: `manage`
'
x-api: delete.license
x-category: info
x-codeSamples:
- lang: Console
source: 'DELETE /_license
'
- lang: Python
source: resp = client.license.delete()
- lang: JavaScript
source: const response = await client.license.delete();
- lang: Ruby
source: response = client.license.delete
- lang: PHP
source: $resp = $client->license()->delete();
- lang: curl
source: 'curl -X DELETE -H "Authorization: ApiKey $ELASTIC_API_KEY" "$ELASTICSEARCH_URL/_license"'
- lang: Java
source: 'client.license().delete(d -> d);
'
x-metaTags:
- content: Elasticsearch
name: product_name
/_license/basic_status:
get:
tags:
- License
summary: Get the basic license status
operationId: license-get-basic-status
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
eligible_to_start_basic:
type: boolean
required:
- eligible_to_start_basic
examples:
GetBasicLicenseStatusResponseExample1:
description: A successful response from `GET /_license/basic_status`.
value: "{\n \"eligible_to_start_basic\": true\n}"
x-state: Generally available; Added in 6.3.0
x-variations:
- "\n GET\n /_license/basic_status\n
\n "
x-req-auth:
- 'Cluster privileges: `monitor`
'
x-api: get_basic_status.license
x-category: info
x-codeSamples:
- lang: Console
source: 'GET /_license/basic_status
'
- lang: Python
source: resp = client.license.get_basic_status()
- lang: JavaScript
source: const response = await client.license.getBasicStatus();
- lang: Ruby
source: response = client.license.get_basic_status
- lang: PHP
source: $resp = $client->license()->getBasicStatus();
- lang: curl
source: 'curl -X GET -H "Authorization: ApiKey $ELASTIC_API_KEY" "$ELASTICSEARCH_URL/_license/basic_status"'
- lang: Java
source: 'client.license().getBasicStatus();
'
x-metaTags:
- content: Elasticsearch
name: product_name
/_license/trial_status:
get:
tags:
- License
summary: Get the trial status
operationId: license-get-trial-status
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
eligible_to_start_trial:
type: boolean
required:
- eligible_to_start_trial
examples:
GetTrialLicenseStatusResponseExample1:
description: A successful response from `GET /_license/trial_status`.
value: "{\n \"eligible_to_start_trial\": true\n}"
x-state: Generally available; Added in 6.1.0
x-variations:
- "\n GET\n /_license/trial_status\n
\n "
x-req-auth:
- 'Cluster privileges: `monitor`
'
x-api: get_trial_status.license
x-category: info
x-codeSamples:
- lang: Console
source: 'GET /_license/trial_status
'
- lang: Python
source: resp = client.license.get_trial_status()
- lang: JavaScript
source: const response = await client.license.getTrialStatus();
- lang: Ruby
source: response = client.license.get_trial_status
- lang: PHP
source: $resp = $client->license()->getTrialStatus();
- lang: curl
source: 'curl -X GET -H "Authorization: ApiKey $ELASTIC_API_KEY" "$ELASTICSEARCH_URL/_license/trial_status"'
- lang: Java
source: 'client.license().getTrialStatus();
'
x-metaTags:
- content: Elasticsearch
name: product_name
/_license/start_basic:
post:
tags:
- License
summary: Start a basic license
description: 'Start an indefinite basic license, which gives access to all the basic features.
NOTE: In order to start a basic license, you must not currently have a basic license.
If the basic license does not support all of the features that are available with your current license, however, you are notified in the response.
You must then re-submit the API request with the `acknowledge` parameter set to `true`.
To check the status of your basic license, use the get basic license API.'
operationId: license-post-start-basic
parameters:
- in: query
name: acknowledge
description: Whether the user has acknowledged acknowledge messages
deprecated: false
schema:
type: boolean
style: form
- in: query
name: master_timeout
description: Period to wait for a connection to the master node.
deprecated: false
schema:
$ref: '#/components/schemas/_types.Duration'
style: form
- in: query
name: timeout
description: Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error.
deprecated: false
schema:
$ref: '#/components/schemas/_types.Duration'
style: form
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
acknowledged:
type: boolean
basic_was_started:
type: boolean
error_message:
type: string
type:
allOf:
- $ref: '#/components/schemas/license._types.LicenseType'
acknowledge:
type: object
additionalProperties:
oneOf:
- type: string
- type: array
items:
type: string
required:
- acknowledged
- basic_was_started
examples:
StartBasicLicenseResponseExample1:
description: A successful response from `POST /_license/start_basic?acknowledge=true`. If you currently have a license with more features than a basic license and you start a basic license, you must pass the acknowledge parameter.
value: "{\n \"basic_was_started\": true,\n \"acknowledged\": true\n}"
x-state: Generally available; Added in 6.3.0
x-variations:
- "\n POST\n /_license/start_basic\n
\n "
x-req-auth:
- 'Cluster privileges: `manage`
'
x-api: post_start_basic.license
x-category: info
x-codeSamples:
- lang: Console
source: 'POST /_license/start_basic?acknowledge=true
'
- lang: Python
source: "resp = client.license.post_start_basic(\n acknowledge=True,\n)"
- lang: JavaScript
source: "const response = await client.license.postStartBasic({\n acknowledge: \"true\",\n});"
- lang: Ruby
source: "response = client.license.post_start_basic(\n acknowledge: \"true\"\n)"
- lang: PHP
source: "$resp = $client->license()->postStartBasic([\n \"acknowledge\" => \"true\",\n]);"
- lang: curl
source: 'curl -X POST -H "Authorization: ApiKey $ELASTIC_API_KEY" "$ELASTICSEARCH_URL/_license/start_basic?acknowledge=true"'
- lang: Java
source: "client.license().postStartBasic(p -> p\n .acknowledge(true)\n);\n"
x-metaTags:
- content: Elasticsearch
name: product_name
/_license/start_trial:
post:
tags:
- License
summary: Start a trial
description: 'Start a 30-day trial, which gives access to all subscription features.
NOTE: You are allowed to start a trial only if your cluster has not already activated a trial for the current major product version.
For example, if you have already activated a trial for v8.0, you cannot start a new trial until v9.0. You can, however, request an extended trial at https://www.elastic.co/trialextension.
To check the status of your trial, use the get trial status API.'
operationId: license-post-start-trial
parameters:
- in: query
name: acknowledge
description: Whether the user has acknowledged acknowledge messages
deprecated: false
schema:
type: boolean
style: form
- in: query
name: type
description: The type of trial license to generate
deprecated: false
schema:
type: string
style: form
- in: query
name: master_timeout
description: Period to wait for a connection to the master node.
deprecated: false
schema:
$ref: '#/components/schemas/_types.Duration'
style: form
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
acknowledged:
type: boolean
error_message:
type: string
trial_was_started:
type: boolean
type:
allOf:
- $ref: '#/components/schemas/license._types.LicenseType'
required:
- acknowledged
- trial_was_started
examples:
StartTrialLicenseResponseExample1:
description: A successful response from `POST /_license/start_trial?acknowledge=true`.
value: "{\n \"trial_was_started\": true,\n \"acknowledged\": true\n}"
x-state: Generally available; Added in 6.1.0
x-variations:
- "\n POST\n /_license/start_trial\n
\n "
x-req-auth:
- 'Cluster privileges: `manage`
'
x-api: post_start_trial.license
x-category: info
x-codeSamples:
- lang: Console
source: 'POST /_license/start_trial?acknowledge=true
'
- lang: Python
source: "resp = client.license.post_start_trial(\n acknowledge=True,\n)"
- lang: JavaScript
source: "const response = await client.license.postStartTrial({\n acknowledge: \"true\",\n});"
- lang: Ruby
source: "response = client.license.post_start_trial(\n acknowledge: \"true\"\n)"
- lang: PHP
source: "$resp = $client->license()->postStartTrial([\n \"acknowledge\" => \"true\",\n]);"
- lang: curl
source: 'curl -X POST -H "Authorization: ApiKey $ELASTIC_API_KEY" "$ELASTICSEARCH_URL/_license/start_trial?acknowledge=true"'
- lang: Java
source: "client.license().postStartTrial(p -> p\n .acknowledge(true)\n);\n"
x-metaTags:
- content: Elasticsearch
name: product_name
components:
schemas:
_types.DateTime:
description: 'A date and time, either as a string whose format can depend on the context (defaulting to ISO 8601), or a
number of milliseconds since the Epoch. Elasticsearch accepts both as input, but will generally output a string
representation.'
oneOf:
- type: string
- $ref: '#/components/schemas/_types.EpochTimeUnitMillis'
_types.UnitMillis:
description: Time unit for milliseconds
type: number
_types.Uuid:
type: string
license._types.LicenseStatus:
type: string
enum:
- active
- valid
- invalid
- expired
_types.AcknowledgedResponseBase:
type: object
properties:
acknowledged:
description: For a successful response, this value is always true. On failure, an exception is returned instead.
type: boolean
required:
- acknowledged
_types.Duration:
externalDocs:
url: https://www.elastic.co/docs/reference/elasticsearch/rest-apis/api-conventions#time-units
description: 'A duration. Units can be `nanos`, `micros`, `ms` (milliseconds), `s` (seconds), `m` (minutes), `h` (hours) and
`d` (days). Also accepts "0" without a unit and "-1" to indicate an unspecified value.'
oneOf:
- type: string
- type: string
enum:
- '-1'
- type: string
enum:
- '0'
license.post.Acknowledgement:
type: object
properties:
license:
type: array
items:
type: string
message:
type: string
required:
- license
- message
license._types.License:
type: object
properties:
expiry_date_in_millis:
allOf:
- $ref: '#/components/schemas/_types.EpochTimeUnitMillis'
issue_date_in_millis:
allOf:
- $ref: '#/components/schemas/_types.EpochTimeUnitMillis'
start_date_in_millis:
allOf:
- $ref: '#/components/schemas/_types.EpochTimeUnitMillis'
issued_to:
type: string
issuer:
type: string
max_nodes:
oneOf:
- type: number
- type:
- string
- 'null'
max_resource_units:
type: number
signature:
type: string
type:
allOf:
- $ref: '#/components/schemas/license._types.LicenseType'
uid:
type: string
required:
- expiry_date_in_millis
- issue_date_in_millis
- issued_to
- issuer
- signature
- type
- uid
license.get.LicenseInformation:
type: object
properties:
expiry_date:
allOf:
- $ref: '#/components/schemas/_types.DateTime'
expiry_date_in_millis:
allOf:
- $ref: '#/components/schemas/_types.EpochTimeUnitMillis'
issue_date:
allOf:
- $ref: '#/components/schemas/_types.DateTime'
issue_date_in_millis:
allOf:
- $ref: '#/components/schemas/_types.EpochTimeUnitMillis'
issued_to:
type: string
issuer:
type: string
max_nodes:
oneOf:
- type: number
- type:
- string
- 'null'
max_resource_units:
oneOf:
- type: number
- type:
- string
- 'null'
status:
allOf:
- $ref: '#/components/schemas/license._types.LicenseStatus'
type:
allOf:
- $ref: '#/components/schemas/license._types.LicenseType'
uid:
allOf:
- $ref: '#/components/schemas/_types.Uuid'
start_date_in_millis:
allOf:
- $ref: '#/components/schemas/_types.EpochTimeUnitMillis'
required:
- issue_date
- issue_date_in_millis
- issued_to
- issuer
- max_nodes
- status
- type
- uid
- start_date_in_millis
license._types.LicenseType:
type: string
enum:
- missing
- trial
- basic
- standard
- dev
- silver
- gold
- platinum
- enterprise
_types.EpochTimeUnitMillis:
allOf:
- $ref: '#/components/schemas/_types.UnitMillis'
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: Authorization
description: "Elasticsearch APIs support key-based authentication.\nYou must create an API key and use the encoded value in the request header.\nFor example:\n\n```\ncurl -X GET \"${ES_URL}/_cat/indices?v=true\" \\\n -H \"Authorization: ApiKey ${API_KEY}\"\n```\n\nTo get API keys, use the `/_security/api_key` APIs."
basicAuth:
type: http
scheme: basic
bearerAuth:
type: http
scheme: bearer
description: 'Elasticsearch APIs support the use of bearer tokens in the `Authorization` HTTP header to authenticate with the API.
For examples, refer to [Token-based authentication services](https://www.elastic.co/docs/deploy-manage/users-roles/cluster-or-deployment-auth/token-based-authentication-services)'
x-tagGroups:
- name: AI & Machine Learning
tags:
- analytics
- graph
- inference
- ml
- ml anomaly
- ml data frame
- ml trained model
- query_rules
- text_structure
- name: Cluster Management
tags:
- ccr
- cluster
- connector
- data stream
- ilm
- indices
- rollup
- script
- search_application
- searchable_snapshots
- slm
- snapshot
- name: Data Processing
tags:
- enrich
- fleet
- ingest
- logstash
- synonyms
- transform
- name: Information & Monitoring
tags:
- cat
- features
- health_report
- info
- license
- migration
- tasks
- watcher
- xpack
- name: Search & Document APIs
tags:
- document
- eql
- esql
- search
- sql
- name: Security
tags:
- security