---
title: "Compute SLO instance summaries in bulk at a point in time"
method: POST
path: "/s/{spaceId}/api/observability/slos/_bulk_snapshot"
tags: ["slo"]
---

# Compute SLO instance summaries in bulk at a point in time

`POST /s/{spaceId}/api/observability/slos/_bulk_snapshot`

Compute the summary of multiple SLO instances at a given point in time. The endpoint is synchronous and returns results directly. Each result contains either a summary (on success) or a per-instance error. The list of requests is limited to 100 entries. When `instanceId` is omitted or set to `'*'`, the API returns a result for each matching instance (up to 1000 per SLO). You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.

## Path parameters

- `spaceId` string, required

## Headers

- `kbn-xsrf` string, required

## Request body

- SLOsBulkSnapshotRequest — The bulk snapshot SLO request takes a point in time and a list of SLO instances to compute summaries for. The list is limited to 100 entries.
  - `at` string, date-time, required — The point in time at which to compute the SLO instance summaries
  - `requests` object[], required — The list of SLO instances to compute. Limited to 100 entries.
    - `id` string, required — The SLO definition id
    - `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 to return that instance only.

## Response `200`

Successful response

- SLOsSnapshotResponse — The snapshot SLO response returns the point in time and the per-instance results. Each result contains either a summary (success) or an error (per-instance failure).
  - `at` string, date-time, required — The point in time at which the summaries were computed
  - `results` SLOsSnapshotResult[], required — The per-instance computation results
    - `error` object — Error information when the computation failed for this SLO instance. Present when the computation failed.
      - `message` string, required — The error message
      - `statusCode` number, required — The HTTP status code of the error
    - `id` string, required — The SLO definition id
    - `instanceId` string, required — 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, required
        - `consumed` number, nullable, required — The error budget consumed, or null when no data is available
        - `initial` number, required — The initial error budget, derived from the SLO objective
        - `remaining` number, nullable, required — The error budget remaining, or null when no data is available
      - `good` number, required — The number of good events
      - `sliValue` number, nullable, required — The SLI value at the requested point in time, or null when no data is available
      - `status` 'NO_DATA' | 'HEALTHY' | 'DEGRADING' | 'VIOLATED', required — The SLO health status
      - `total` number, required — The total number of events

## Other responses

- `400` — Bad request
- `401` — Unauthorized response
- `403` — Forbidden response

---

[API](https://skmtc.net/elastic/apis/kibana-apis.md) · [All operations](https://skmtc.net/elastic/apis/kibana-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/elastic/kibana-apis/versions/531c9e2a7d23/schema)
