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

# Perform completion inference on the service

Authentication: required

Availability: Generally available since 8.11

## Paths

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

#### Path parameters

- `inference_id` (string) — required
  The inference Id

## Query string parameters

- `timeout` (string · default: 30s) — optional
  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` (object) — optional
  Optional task settings

## Response

`application/json`

- `completion` (object[])
  - `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

`application/json`

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."
    }
  ]
}
```

