---
type: api
title: Search for annotations
description: **Spaces method and path for this operation:**
url: https://www.elastic.co/elastic/docs-builder/docs/4641/api/doc/kibana/v8/operation/operation-getannotation
resource: https://www.elastic.co/elastic/docs-builder/docs/4641/api/doc/kibana/v8/operation/operation-getannotation
products:
  - Kibana
---

# Search for annotations

Authentication: required

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

## Paths

- `GET` `/api/apm/services/{serviceName}/annotation/search`
- `GET` `/s/{space_id}/api/apm/services/{serviceName}/annotation/search`

#### Path parameters

- `space_id` (string) — optional
  An identifier for the space. If `space_id` is not provided in the URL, the default space is used. Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
- `serviceName` (string) — required
  The name of the service

## Description

Search for annotations related to a specific service.

## Query string parameters

- `environment` (string) — optional
  The environment to filter annotations by
- `start` (string) — optional
  The start date for the search
- `end` (string) — optional
  The end date for the search

## Header parameters

- `elastic-api-version` (enum · default: 2023-10-31) — required
  The version of the API to use
  Values: `2023-10-31`

## Responses

#### `200`

Successful response

`application/json`

- `annotations` (object[])
  Annotations
  - `@timestamp` (number)
  - `id` (string)
  - `text` (string)
  - `type` (enum)
    Values: `version`
#### `400`

Bad Request response

`application/json`

- `error` (string)
  Error type
- `message` (string)
  Error message
- `statusCode` (number)
  Error status code
#### `401`

Unauthorized response

`application/json`

- `error` (string)
  Error type
- `message` (string)
  Error message
- `statusCode` (number)
  Error status code
#### `500`

Internal Server Error response

`application/json`

- `error` (string)
  Error type
- `message` (string)
  Error message
- `statusCode` (number)
  Error status code
## Code examples

#### Console

```console
GET kbn:/api/apm/services/SERVICE_NAME/annotation/search
```

#### curl

```curl
curl -X GET "${KIBANA_URL}/api/apm/services/${SERVICE_NAME}/annotation/search" \
  -H "elastic-api-version: 2023-10-31" \
  -H "Authorization: ApiKey ${API_KEY}"
```

## Response examples

#### 200

`application/json`

Generated from the API spec. Values are representative. Unions use the first variant; deeply nested or large bodies may omit fields.

```json
{
  "annotations": [
    {
      "@timestamp": 0,
      "id": "string",
      "text": "string",
      "type": "version"
    }
  ]
}
```

#### 400

`application/json`

Generated from the API spec. Values are representative. Unions use the first variant; deeply nested or large bodies may omit fields.

```json
{
  "error": "Not Found",
  "message": "Not Found",
  "statusCode": 400
}
```

#### 401

`application/json`

Generated from the API spec. Values are representative. Unions use the first variant; deeply nested or large bodies may omit fields.

```json
{
  "error": "Unauthorized",
  "message": "string",
  "statusCode": 401
}
```

#### 500

`application/json`

Generated from the API spec. Values are representative. Unions use the first variant; deeply nested or large bodies may omit fields.

```json
{
  "error": "Internal Server Error",
  "message": "string",
  "statusCode": 500
}
```

