---
type: api
title: Perform completion inference on the service
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch/v8/operation/operation-inference-completion
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch/v8/operation/operation-inference-completion
products:
  - Elasticsearch
---

# Perform completion inference on the service

Availability: 8.11+

## Paths

- `POST` `/_inference/completion/{inference_id}`

- [Api key auth](/elastic/docs-builder/docs/4371/api/doc/elasticsearch/v8/authentication#apikeyauth)
- [Basic auth](/elastic/docs-builder/docs/4371/api/doc/elasticsearch/v8/authentication#basicauth)
- [Bearer auth](/elastic/docs-builder/docs/4371/api/doc/elasticsearch/v8/authentication#bearerauth)

#### Path Parameters

- `inference_id` (string Id)
  The inference Id

## Query String Parameters

- `timeout` (string Duration · default: 30s)
  Specifies the amount of time to wait for the inference request to complete.

## Request Body

`application/json`

- `input` (union string | [] string) — required
  Inference input.
Either a string or an array of strings.
- `task_settings` (TaskSettings) — optional
  Optional task settings

## Response

`application/json`

- `completion` ([] CompletionResult)
  - `result` (string)
## Code Examples

#### Console

```console
POST _inference/completion/openai_chat_completions
{
  "input": "What is Elastic?"
}
```

#### JavaScript

```javascript
const response = await client.inference.completion({
  inference_id: "openai_chat_completions",
  input: "What is Elastic?",
});
```

#### Python

```python
resp = client.inference.completion(
    inference_id="openai_chat_completions",
    input="What is Elastic?",
)
```

#### curl

```curl
curl -X POST "$ELASTICSEARCH_URL/_inference/completion/openai_chat_completions" \
  -H "Authorization: ApiKey $ELASTIC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "What is Elastic?"
  }'
```

#### Java

```java
client.inference().completion(c -> c
    .inferenceId("openai_chat_completions")
    .input("What is Elastic?")
);
```

#### C#

```c#
var response = await client.Inference
    .CompletionAsync(inferenceId: "openai_chat_completions", d1 => d1
        .Input("What is Elastic?")
    );
```

#### PHP

```php
$resp = $client->inference()->completion([
    "inference_id" => "openai_chat_completions",
    "body" => [
        "input" => "What is Elastic?",
    ],
]);
```

#### Ruby

```ruby
response = client.inference.completion(
  inference_id: "openai_chat_completions",
  body: {
    "input": "What is Elastic?"
  }
)
```

## Response Examples

#### Completion task

A successful response from `POST _inference/completion/openai_chat_completions`.

```json
{
  "completion": [
    {
      "result": "Elastic is a company that provides a range of software solutions for search, logging, security, and analytics. Their flagship product is Elasticsearch, an open-source, distributed search engine that allows users to search, analyze, and visualize large volumes of data in real-time. Elastic also offers products such as Kibana, a data visualization tool, and Logstash, a log management and pipeline tool, as well as various other tools and solutions for data analysis and management."
    }
  ]
}
```

