---
type: api
title: Get component templates
description: **All methods and paths for this operation:**
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch-serverless/operation/operation-cat-component-templates
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch-serverless/operation/operation-cat-component-templates
products:
  - Elasticsearch Serverless
---

# Get component templates


Availability:

## Paths

- `GET` `/_cat/component_templates/{name}`
- `GET` `/_cat/component_templates`

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

#### Path Parameters

- `name` (string) — optional, leave it out to use `/_cat/component_templates`
  The name of the component template.
It accepts wildcard expressions.
If it is omitted, all component templates are returned.

## Description

Get information about component templates in a cluster.
Component templates are building blocks for constructing index templates that specify index mappings, settings, and aliases.

IMPORTANT: CAT APIs are only intended for human consumption using the command line or Kibana console.
They are not intended for use by applications. For application consumption, use the get component template API.

## Required authorization

* Cluster privileges: `monitor`

## Query String Parameters

- `h` (union CatComponentColumns)
  A comma-separated list of columns names to display. It supports simple wildcards.

Supported values include:
  - `name` (or `n`): The name of the component template.
  - `version` (or `v`): The version number of the component template.
  - `alias_count` (or `a`): The number of aliases in the component template.
  - `mapping_count` (or `m`): The number of mappings in the component template.
  - `settings_count` (or `s`): The number of settings in the component template.
  - `metadata_count` (or `me`): The number of metadata entries in the component template.
  - `included_in` (or `i`): The index templates that include this component template.
  Values: `name`, `n`, `version`, `v`, `alias_count`, `a`, `mapping_count`, `m`, `settings_count`, `s`, `metadata_count`, `me`, `included_in`, `i`
- `s` (union Names)
  List of columns that determine how the table should be sorted.
Sorting defaults to ascending and can be changed by setting `:asc`
or `:desc` as a suffix to the column name.
  One of: `Name` or `Name[]`
- `local` (boolean · default: false)
  If `true`, the request computes the list of selected nodes from the
local cluster state. If `false` the list of selected nodes are computed
from the cluster state of the master node. In both cases the coordinating
node will send requests for further information to each selected node.
- `master_timeout` (string Duration · default: 30s)
  The period to wait for a connection to the master node.

## Response

`application/json`

Type: `[] ComponentTemplate`

- `name` (string)
- `version` (union string) — nullable
  One of: `string`
- `alias_count` (string)
- `mapping_count` (string)
- `settings_count` (string)
- `metadata_count` (string)
- `included_in` (string)
## Code Examples

#### Console

```console
GET _cat/component_templates/my-template-*?v=true&s=name&format=json
```

#### JavaScript

```javascript
const response = await client.cat.componentTemplates({
  name: "my-template-*",
  v: "true",
  s: "name",
  format: "json",
});
```

#### Python

```python
resp = client.cat.component_templates(
    name="my-template-*",
    v=True,
    s="name",
    format="json",
)
```

#### curl

```curl
curl -X GET "$ELASTICSEARCH_URL/_cat/component_templates/my-template-*?v=true&s=name&format=json" \
  -H "Authorization: ApiKey $ELASTIC_API_KEY"
```

#### Java

```java
client.cat().componentTemplates(c -> c
    .name("my-template-*")
    .s("name")
);
```

#### PHP

```php
$resp = $client->cat()->componentTemplates([
    "name" => "my-template-*",
    "v" => "true",
    "s" => "name",
    "format" => "json",
]);
```

#### Ruby

```ruby
response = client.cat.component_templates(
  name: "my-template-*",
  v: "true",
  s: "name",
  format: "json"
)
```

## Response Examples

#### Cat component templates response example1

A successful response from `GET _cat/component_templates/my-template-*?v=true&s=name&format=json`.

```json
[
  {
    "name": "my-template-1",
    "version": "null",
    "alias_count": "0",
    "mapping_count": "0",
    "settings_count": "1",
    "metadata_count": "0",
    "included_in": "[my-index-template]"
  },
    {
    "name": "my-template-2",
    "version": null,
    "alias_count": "0",
    "mapping_count": "3",
    "settings_count": "0",
    "metadata_count": "0",
    "included_in": "[my-index-template]"
  }
]
```

