---
type: api
title: Compute an SLO instance summary at a point in time
description: Compute the summary of an SLO at a given point in time. When `instanceId` is provided, returns that instance. When `instanceId` is omitted or set to `'*'`, returns all matching instances (up to 1000). The endpoint is synchronous and returns results directly. You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/kibana-serverless/operation/operation-getsnapshotop
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/kibana-serverless/operation/operation-getsnapshotop
products:
  - Kibana
---

# Compute an SLO instance summary at a point in time

Availability: Planned

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

## Paths

- `GET` `/s/{spaceId}/api/observability/slos/{sloId}/_snapshot`

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

#### Path Parameters

- `spaceId` (string)
  An identifier for the space. If `/s/` and the identifier are omitted from the path, the default space is used.
- `sloId` (string)
  An identifier for the slo.

## Description

Compute the summary of an SLO at a given point in time. When `instanceId` is provided, returns that instance. When `instanceId` is omitted or set to `'*'`, returns all matching instances (up to 1000). The endpoint is synchronous and returns results directly. You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.

## Query String Parameters

- `at` (string)
  The point in time at which to compute the SLO instance summary (ISO 8601 date-time)
- `instanceId` (string)
  The SLO instance ID. Omit this parameter or set it to `'*'` to return all instances for the SLO (up to 1000). Set a specific value (for example `host.name:web-01`) to return that instance only.

## Responses

#### `200`

Successful response

`application/json`

- `at` (string)
  The point in time at which the summaries were computed
- `results` ([] object)
  The per-instance computation results
  - `error` (object)
    Error information when the computation failed for this SLO instance. Present when the computation failed.
    - `message` (string)
      The error message
    - `statusCode` (number)
      The HTTP status code of the error
  - `id` (string)
    The SLO definition id
  - `instanceId` (string)
    The SLO instance id. '*' represents the default (ungrouped) instance.
  - `summary` (object)
    The SLO instance summary at the requested point in time. Present when the computation succeeded.
    - `errorBudget` (object)
      - `consumed` (number) — nullable
        The error budget consumed, or null when no data is available
      - `initial` (number)
        The initial error budget, derived from the SLO objective
      - `remaining` (number) — nullable
        The error budget remaining, or null when no data is available
    - `good` (number)
      The number of good events
    - `sliValue` (number) — nullable
      The SLI value at the requested point in time, or null when no data is available
    - `status` (enum)
      The SLO health status
      Values: `NO_DATA`, `HEALTHY`, `DEGRADING`, `VIOLATED`
    - `total` (number)
      The total number of events
#### `400`

Bad request

`application/json`

- `error` (string)
- `message` (string)
- `statusCode` (number)
#### `401`

Unauthorized response

`application/json`

- `error` (string)
- `message` (string)
- `statusCode` (number)
#### `403`

Forbidden response

`application/json`

- `error` (string)
- `message` (string)
- `statusCode` (number)
#### `404`

Not found response

`application/json`

- `error` (string)
- `message` (string)
- `statusCode` (number)
## Code Examples

#### Console

```console
GET /s/{spaceId}/api/observability/slos/{sloId}/_snapshot?at={at}
```

#### curl

```curl
curl -X GET "https://{kibana_url}/s/{spaceId}/api/observability/slos/{sloId}/_snapshot?at={at}" \
  -H "kbn-xsrf: true"
```

## Response Examples

#### Snapshot result for a healthy SLO instance

```json
{
  "at": "2025-01-12T10:00:00.000Z",
  "results": [
    {
      "id": "8853df00-ae2e-11ed-90af-09bb6422b258",
      "instanceId": "*",
      "summary": {
        "errorBudget": {
          "consumed": 0.24,
          "initial": 0.01,
          "remaining": 0.76
        },
        "good": 9976,
        "sliValue": 0.9976,
        "status": "HEALTHY",
        "total": 10000
      }
    }
  ]
}
```

#### Snapshot result for a violated SLO instance

```json
{
  "at": "2025-01-12T10:00:00.000Z",
  "results": [
    {
      "id": "8853df00-ae2e-11ed-90af-09bb6422b258",
      "instanceId": "host.name:web-01",
      "summary": {
        "errorBudget": {
          "consumed": 5,
          "initial": 0.01,
          "remaining": -4
        },
        "good": 9500,
        "sliValue": 0.95,
        "status": "VIOLATED",
        "total": 10000
      }
    }
  ]
}
```

#### Bad request

```json
{
  "error": "Bad Request",
  "message": "Invalid value \u0027foo\u0027 supplied to: at",
  "statusCode": 400
}
```

#### Unauthorized

```json
{
  "error": "Unauthorized",
  "message": "security_exception: unable to authenticate user for REST request [/api/observability/slos]",
  "statusCode": 401
}
```

#### Forbidden

```json
{
  "error": "Forbidden",
  "message": "security_exception: action [slo_read] is unauthorized for user",
  "statusCode": 403
}
```

#### Not found

```json
{
  "error": "Not Found",
  "message": "SLO [8853df00-ae2e-11ed-90af-09bb6422b258] not found",
  "statusCode": 404
}
```

