---
type: api
title: Add anomaly detection job to calendar
description: ## Required authorization
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch/operation/operation-ml-put-calendar-job
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch/operation/operation-ml-put-calendar-job
products:
  - Elasticsearch
---

# Add anomaly detection job to calendar

Availability: 6.2+

## Paths

- `PUT` `/_ml/calendars/{calendar_id}/jobs/{job_id}`

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

#### Path Parameters

- `calendar_id` (string Id)
  A string that uniquely identifies a calendar.
- `job_id` (union Id | [] Id)
  An identifier for the anomaly detection jobs. It can be a job identifier, a group name, or a comma-separated list of jobs or groups.

## Description



## Required authorization

* Cluster privileges: `manage_ml`

## Response

`application/json`

- `calendar_id` (string Id)
  A string that uniquely identifies a calendar.
- `description` (string)
  A description of the calendar.
- `job_ids` (string Ids)
  A list of anomaly detection job identifiers or group names.
## Code Examples

#### Console

```console
PUT _ml/calendars/planned-outages/jobs/total-requests
```

#### JavaScript

```javascript
const response = await client.ml.putCalendarJob({
  calendar_id: "planned-outages",
  job_id: "total-requests",
});
```

#### Python

```python
resp = client.ml.put_calendar_job(
    calendar_id="planned-outages",
    job_id="total-requests",
)
```

#### curl

```curl
curl -X PUT "$ELASTICSEARCH_URL/_ml/calendars/planned-outages/jobs/total-requests" \
  -H "Authorization: ApiKey $ELASTIC_API_KEY"
```

#### Java

```java
client.ml().putCalendarJob(p -> p
    .calendarId("planned-outages")
    .jobId("total-requests")
);
```

#### C#

```c#
var response = await client.MachineLearning.PutCalendarJobAsync(calendarId: "planned-outages", jobId: new[] { "total-requests" });
```

#### PHP

```php
$resp = $client->ml()->putCalendarJob([
    "calendar_id" => "planned-outages",
    "job_id" => "total-requests",
]);
```

#### Ruby

```ruby
response = client.ml.put_calendar_job(
  calendar_id: "planned-outages",
  job_id: "total-requests"
)
```

