---
type: api
title: Get the pending cluster tasks
description: Get information about cluster-level changes (such as create index, update mapping, allocate or fail shard) that have not yet taken effect.
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch/operation/operation-cluster-pending-tasks
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch/operation/operation-cluster-pending-tasks
products:
  - Elasticsearch
---

# Get the pending cluster tasks

Availability:

## Paths

- `GET` `/_cluster/pending_tasks`

- [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)

## Description

Get information about cluster-level changes (such as create index, update mapping, allocate or fail shard) that have not yet taken effect.

NOTE: This API returns a list of any pending updates to the cluster state.
These are distinct from the tasks reported by the task management API which include periodic tasks and tasks initiated by the user, such as node stats, search queries, or create index requests.
However, if a user-initiated task such as a create index command causes a cluster state update, the activity of this task might be reported by both task api and pending cluster tasks API.

## Required authorization

* Cluster privileges: `monitor`

## Query String Parameters

- `local` (boolean · default: false)
  If `true`, the request retrieves information from the local node only.
If `false`, information is retrieved from the master node.
- `master_timeout` (string Duration · default: 30s)
  Period to wait for a connection to the master node.
If no response is received before the timeout expires, the request fails and returns an error.

## Response

`application/json`

- `tasks` ([] PendingTask)
  - `executing` (boolean)
    Indicates whether the pending tasks are currently executing or not.
  - `insert_order` (number)
    The number that represents when the task has been inserted into the task queue.
  - `priority` (string)
    The priority of the pending task.
The valid priorities in descending priority order are: `IMMEDIATE` > `URGENT` > `HIGH` > `NORMAL` > `LOW` > `LANGUID`.
  - `source` (string)
    A general description of the cluster task that may include a reason and origin.
  - `time_in_queue` (string Duration)
    The time since the task is waiting for being performed.
  - `time_in_queue_millis` (DurationValueUnitMillis)
    The time expressed in milliseconds since the task is waiting for being performed.
## Code Examples

#### Console

```console
GET /_cluster/pending_tasks
```

#### JavaScript

```javascript
const response = await client.cluster.pendingTasks();
```

#### Python

```python
resp = client.cluster.pending_tasks()
```

#### curl

```curl
curl -X GET "$ELASTICSEARCH_URL/_cluster/pending_tasks" \
  -H "Authorization: ApiKey $ELASTIC_API_KEY"
```

#### Java

```java
client.cluster().pendingTasks(p -> p);
```

#### C#

```c#
var response = await client.Cluster.PendingTasksAsync();
```

#### PHP

```php
$resp = $client->cluster()->pendingTasks();
```

#### Ruby

```ruby
response = client.cluster.pending_tasks
```

