---
type: api
title: Stop a trained model deployment
description: ## Required authorization
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch-serverless/operation/operation-ml-stop-trained-model-deployment
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch-serverless/operation/operation-ml-stop-trained-model-deployment
products:
  - Elasticsearch Serverless
---

# Stop a trained model deployment

Availability:

## Paths

- `POST` `/_ml/trained_models/{model_id}/deployment/_stop`

- [Api key auth](/elastic/docs-builder/docs/4371/api/doc/elasticsearch-serverless/authentication#apikeyauth)

#### Path Parameters

- `model_id` (string Id)
  The unique identifier of the trained model.

## Description



## Required authorization

* Cluster privileges: `manage_ml`

## Query String Parameters

- `allow_no_match` (boolean · default: true)
  Specifies what to do when the request: contains wildcard expressions and there are no deployments that match;
contains the  `_all` string or no identifiers and there are no matches; or contains wildcard expressions and
there are only partial matches. By default, it returns an empty array when there are no matches and the subset of results when there are partial matches.
If `false`, the request returns a 404 status code when there are no matches or only partial matches.
- `force` (boolean · default: false)
  Forcefully stops the deployment, even if it is used by ingest pipelines. You can't use these pipelines until you
restart the model deployment.

## Request Body

`application/json`

- `id` (string Id) — optional
  If provided, must be the same identifier as in the path.
- `allow_no_match` (boolean · default: true) — optional
  Specifies what to do when the request: contains wildcard expressions and there are no deployments that match;
contains the  `_all` string or no identifiers and there are no matches; or contains wildcard expressions and
there are only partial matches. By default, it returns an empty array when there are no matches and the subset of results when there are partial matches.
If `false`, the request returns a 404 status code when there are no matches or only partial matches.
- `force` (boolean · default: false) — optional
  Forcefully stops the deployment, even if it is used by ingest pipelines. You can't use these pipelines until you
restart the model deployment.

## Response

`application/json`

- `stopped` (boolean)
## Code Examples

#### Console

```console
POST _ml/trained_models/my_model_for_search/deployment/_stop
```

#### JavaScript

```javascript
const response = await client.ml.stopTrainedModelDeployment({
  model_id: "my_model_for_search",
});
```

#### Python

```python
resp = client.ml.stop_trained_model_deployment(
    model_id="my_model_for_search",
)
```

#### curl

```curl
curl -X POST "$ELASTICSEARCH_URL/_ml/trained_models/my_model_for_search/deployment/_stop" \
  -H "Authorization: ApiKey $ELASTIC_API_KEY"
```

#### Java

```java
client.ml().stopTrainedModelDeployment(s -> s
    .modelId("my_model_for_search")
);
```

#### C#

```c#
var response = await client.MachineLearning.StopTrainedModelDeploymentAsync(modelId: "my_model_for_search");
```

#### PHP

```php
$resp = $client->ml()->stopTrainedModelDeployment([
    "model_id" => "my_model_for_search",
]);
```

#### Ruby

```ruby
response = client.ml.stop_trained_model_deployment(
  model_id: "my_model_for_search"
)
```

