---
type: api
title: Search dashboards
description: Returns a paginated list of dashboards. Each result includes title, description, tags, and metadata, but not the full panel layout. Use `GET /api/dashboards/{id}` to retrieve the complete state.
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/kibana/v0/operation/operation-search-dashboards
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/kibana/v0/operation/operation-search-dashboards
products:
  - Kibana
---

# Search dashboards

Availability: 9.5+

- Server: `https://{kibana_url}`

## Paths

- `GET` `/api/dashboards`

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

## Description

Returns a paginated list of dashboards. Each result includes title, description, tags, and metadata, but not the full panel layout. Use `GET /api/dashboards/{id}` to retrieve the complete state.

## Query String Parameters

- `page` (number · min: 1 · default: 1)
  The page of results to return.
- `per_page` (number · min: 1 · max: 1000 · default: 20)
  The number of results to return per page.
- `query` (string)
  Filters results by `title` and `description` using Elasticsearch [`simple_query_string`](https://www.elastic.co/docs/reference/query-languages/query-dsl/query-dsl-simple-query-string-query) syntax. Multi-word terms require all words to match.
- `tags` ([] string · max: 100 · default: [])
  A tag ID to include. Accepts a single tag ID or multiple tag IDs. When multiple are specified, library items matching any of the tag IDs are included.
- `excluded_tags` ([] string · max: 100 · default: [])
  A tag ID to exclude. Accepts a single tag ID or multiple tag IDs. When multiple are specified, library items matching any of the tag IDs are excluded.
- `tag_names` ([] string · max: 100)
  A tag name to include. Accepts a single tag name or multiple tag names. When multiple are specified, library items matching any of the tag names are included. If the same name is shared by multiple tags, items matching any of those tags are included.
- `excluded_tag_names` ([] string · max: 100)
  A tag name to exclude. Accepts a single tag name or multiple tag names. When multiple are specified, library items matching any of the tag names are excluded. If the same name is shared by multiple tags, items matching any of those tags are excluded.

## Responses

#### `200`

success

`application/json`

- `data` ([] object · max: 1000)
  List of dashboards matching the query. Each entry includes summary fields but not the full panel layout.
  - `data` (object)
    - `access_control` ({})
      Access control settings for the dashboard.
      - `access_mode` (enum)
        Controls edit access to the dashboard. Set to `write_restricted` to prevent edits by users without explicit write permission. Defaults to `default` (all viewers can edit).
        Values: `write_restricted`, `default`
    - `description` (string)
      A short description of the dashboard.
    - `tags` ([] string · max: 100 · default: [])
      Tag IDs associated with this dashboard.
    - `time_range` ({})
      Specifies the time range for a query.
      - `from` (string)
        The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
      - `mode` (enum)
        The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
        Values: `absolute`, `relative`
      - `to` (string)
        The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
    - `title` (string)
      The dashboard title.
  - `id` (string)
    The dashboard ID.
  - `meta` ({})
    - `created_at` (string)
      Timestamp when the object was created (ISO 8601).
    - `created_by` (string)
      User profile ID of the user who created the object.
    - `managed` (boolean)
      When `true`, the object is managed by Kibana and cannot be edited by users.
    - `owner` (string)
      Identifier of the plugin or team that owns this object.
    - `updated_at` (string)
      Timestamp when the object was last updated (ISO 8601).
    - `updated_by` (string)
      User profile ID of the user who last updated the object.
    - `version` (string)
      Internal version identifier for optimistic concurrency control.
- `meta` (object)
  - `page` (number · min: 1 · default: 1)
    The returned page of results.
  - `per_page` (number · min: 1 · max: 1000 · default: 20)
    The number of results returned per page.
  - `total` (number)
    The total number of results matching the query.
#### `400`

bad request

#### `403`

forbidden

#### `500`

internal server error

## Code Examples

#### Console

```console
GET kbn:/api/dashboards?query=web+logs&per_page=10
```

#### Console

```console
GET kbn:/api/dashboards?tag_names=Security&tag_names=Observability
```

#### Console

```console
GET kbn:/api/dashboards?excluded_tag_names=Deprecated
```

#### curl

```curl
curl -X GET "${KIBANA_URL}/api/dashboards?query=web+logs&per_page=10" \
  -H "Authorization: ApiKey ${API_KEY}"
```

#### curl

```curl
curl -X GET "${KIBANA_URL}/api/dashboards?tag_names=Security&tag_names=Observability" \
  -H "Authorization: ApiKey ${API_KEY}"
```

#### curl

```curl
curl -X GET "${KIBANA_URL}/api/dashboards?excluded_tag_names=Deprecated" \
  -H "Authorization: ApiKey ${API_KEY}"
```

## Response Examples

#### Search dashboards response

Paginated list of dashboard summaries. Each item includes the ID, a subset of dashboard state fields (`title`, `time_range` if set), and metadata. Full panel content is not included - use the GET endpoint to retrieve a specific dashboard.

```json
{
  "data": [
    {
      "data": {
        "title": "Web logs overview"
      },
      "id": "3c4b8e10-d57a-11ef-9a52-4f3c2a8d0e1b",
      "meta": {
        "created_at": "2026-04-13T10:00:00.000Z",
        "managed": false,
        "updated_at": "2026-04-13T10:00:00.000Z",
        "version": "WzEwMiwxXQ=="
      }
    },
    {
      "data": {
        "time_range": {
          "from": "now-7d",
          "to": "now"
        },
        "title": "Operations overview"
      },
      "id": "7f2a1c40-e83b-11ef-a641-7d5b3f9e1c2a",
      "meta": {
        "created_at": "2026-04-12T08:00:00.000Z",
        "managed": false,
        "updated_at": "2026-04-12T14:22:00.000Z",
        "version": "WzEwMSwxXQ=="
      }
    }
  ],
  "meta": {
    "page": 1,
    "per_page": 20,
    "total": 2
  }
}
```

