---
title: "Get aggregated booking insights"
method: GET
path: "/appointments/bookings/insights"
tags: ["Appointments"]
---

# Get aggregated booking insights

`GET /appointments/bookings/insights`

## Request

- Base URL: `https://be.graph8.com/api/v1`
- URL: `https://be.graph8.com/api/v1/appointments/bookings/insights`
- Auth: HTTP bearer

Return aggregated booking insights for the caller's org.

Covers booking counts, show/no-show rates, and per-event-type breakdowns
for the given date window.  Backed by ``BookingsHandler.handle_insights``
(same handler as the in-app insights view).  ``is_admin`` is forced False
so the caller sees only their own data. The in-app ``member_user_id`` filter
is intentionally NOT exposed: it is an admin-only knob and an API key never
holds admin, so the handler would ignore it anyway - omitting it from the
route signature avoids the misleading "forwarded but ignored" surface.

## Query parameters

- `date_from` string, nullable: ISO date string for range start (e.g. '2026-01-01').
- `date_to` string, nullable: ISO date string for range end (e.g. '2026-12-31').
- `event_type_ids` string, nullable: Comma-separated event-type IDs to filter by.

## Headers

- `Authorization` string, nullable
- `X-Target-Org-Id` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/graph8/apis/graph8-developer-api.md) · [All operations](https://skmtc.dev/graph8/apis/graph8-developer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/graph8/apis/graph8-developer-api/revisions/2e7cfa0ca921?raw)
