---
type: api
title: Start a basic license
description: Start an indefinite basic license, which gives access to all the basic features.
url: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/elasticsearch/v8/operation/operation-license-post-start-basic
resource: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/elasticsearch/v8/operation/operation-license-post-start-basic
products:
  - Elasticsearch
---

# Start a basic license

Availability: Generally available since 6.3

## Paths

- `POST` `/_license/start_basic`

## 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.

## Required authorization

- Cluster privileges: `manage`

## Authentication

- Api key: `Authorization: <value>`
  Elasticsearch APIs support key-based authentication.
  You must create an API key and use the encoded value in the request header.
  For example:
  
  
  ```
  curl -X GET "${ES_URL}/_cat/indices?v=true" \
    -H "Authorization: ApiKey ${API_KEY}"
  ```
  
  To get API keys, use the `/_security/api_key` APIs.
- Basic: `Authorization: Basic <credentials>`
- Bearer: `Authorization: Bearer <token>`
  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/guide/en/elasticsearch/reference/current/token-authentication-services.html)

## Query string parameters

- `acknowledge` (boolean · default: false) — optional
  Whether the user has acknowledged acknowledge messages
- `master_timeout` (string · default: 30s) — optional
  Period to wait for a connection to the master node.
- `timeout` (string · default: 30s) — optional
  Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error.

## Response

`application/json`

- `acknowledged` (boolean)
- `basic_was_started` (boolean)
- `error_message` (string)
- `type` (enum)
  Values: `missing`, `trial`, `basic`, `standard`, `dev`, `silver`, `gold`, `platinum`, `enterprise`
- `acknowledge` (map string to string | string[])
## Code examples

#### Console

```console
POST /_license/start_basic?acknowledge=true
```

#### JavaScript

```javascript
const response = await client.license.postStartBasic({
  acknowledge: "true",
});
```

#### Python

```python
resp = client.license.post_start_basic(
    acknowledge=True,
)
```

#### curl

```curl
curl -X POST "$ELASTICSEARCH_URL/_license/start_basic?acknowledge=true" \
  -H "Authorization: ApiKey $ELASTIC_API_KEY"
```

#### Java

```java
client.license().postStartBasic(p -> p
    .acknowledge(true)
);
```

#### C#

```c#
var response = await client.LicenseManagement
    .PostStartBasicAsync(d1 => d1
        .Acknowledge(true)
    );
```

#### PHP

```php
$resp = $client->license()->postStartBasic([
    "acknowledge" => "true",
]);
```

#### Ruby

```ruby
response = client.license.post_start_basic(
  acknowledge: "true"
)
```

## Response examples

#### Start basic license response example1

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.

```json
{
  "basic_was_started": true,
  "acknowledged": true
}
```

