---
title: "Read the pending visitor queue"
method: GET
path: "/api/guests"
tags: ["guests", "browser-session"]
---

# Read the pending visitor queue

`GET /api/guests`

## Request

- Base URL: `https://www.immersivecommons.com`
- URL: `https://www.immersivecommons.com/api/guests`
- Auth: API key in cookie `__session`

Clerk OPERATOR session only. Not merely signed-in: the queue carries visitor PII (names, host bindings, free-text request bodies), so a signed-in non-operator gets a 403. Newest first, and capped by the KV trim — the recent queue, not an exhaustive history. A host wanting only their own guests has no surface here yet.

## Response `200`

The pending queue.

- GuestVisitPendingResponse
  - `ok` boolean, required
  - `pending` GuestVisitRecord[], required: Newest first, capped by the KV trim.
    - `id` string, required
    - `name` string, required
    - `host_member_id` string: The host's member id, or their Clerk id when no member id is set.
    - `host_clerk_user_id` string
    - `expected_at` string, required
    - `purpose` string, required
    - `request_text` string
    - `source` string: Which intake filed it, e.g. web.
    - `created_at` string, date-time, required
    - `status` string, required: pending until an operator cuts the authoritative record.

## Other responses

- `401`: Not signed in.
- `403`: Signed in, but not operator tier.
- `500`: Auth check or KV read failed.

---

[API](https://skmtc.dev/immersivecommons/apis/immersive-commons-agent-rest-api.md) · [All operations](https://skmtc.dev/immersivecommons/apis/immersive-commons-agent-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/immersivecommons/apis/immersive-commons-agent-rest-api/revisions/be67c1f67c27?raw)
