# GET /scheduling-bookings

**Resource:** [Scheduling Bookings](./scheduling-bookings.md)  
**Scopes:** `company:read`  
**Write operation:** no

List bookings with filters. Returns upcoming/past bookings sorted by start time. Includes management_token and management_token_expires_at for each booking (null on bookings created before self-service management was introduced).

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `status` | query | string | no | Filter: confirmed, cancelled, attended, late, no_show |
| `event_type_id` | query | string | no | Filter by event type UUID |
| `date_from` | query | string | no | Filter: bookings on or after YYYY-MM-DD |
| `date_to` | query | string | no | Filter: bookings on or before YYYY-MM-DD |
| `limit` | query | number | no | Max results (default 25, max 100) |
| `after` | query | string | no | Cursor for next page |

## Request example

```bash
curl -X GET \
  "https://api.trustpager.com/functions/v1/api/v1/scheduling-bookings?status=confirmed&date_from=2026-03-24" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Response example

```json
{
  "data": [
    {
      "id": "a1b2c3d4-...",
      "event_type_id": "e1f2g3h4-...",
      "starts_at": "2026-03-25T09:00:00+11:00",
      "ends_at": "2026-03-25T09:15:00+11:00",
      "timezone": "Australia/Sydney",
      "booker_name": "Sarah Johnson",
      "booker_email": "sarah@example.com",
      "booker_phone": "+61412345678",
      "status": "confirmed",
      "deal_id": "d1e2f3g4-...",
      "contact_id": "c1d2e3f4-...",
      "management_token": "f7a3c891-4d52-4b1e-9e80-abc123def456",
      "management_token_expires_at": "2026-03-26T09:15:00+11:00"
    }
  ],
  "pagination": { "limit": 25, "has_more": false }
}
```

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`