---
title: "Read the public floor roster"
method: GET
path: "/api/floor10/members"
tags: ["floor10"]
---

# Read the public floor roster

`GET /api/floor10/members`

## Request

- Base URL: `https://www.immersivecommons.com`
- URL: `https://www.immersivecommons.com/api/floor10/members`
- Auth: none required

Public, no auth - names, tiers and opt-in GitHub handles only, no PII. Falls back to an honestly-empty payload when the cache is cold: `as_of: null` is the 'no data yet' signal, and `total` always matches the returned array rather than a remembered number.

## Response `200`

The roster, or the cold fallback.

- KioskMembersResponse: The roster. On a cold cache this is the honest empty payload: `members: []`, `total: 0`, `as_of: null`.
  - `members` object[], required: Names, tiers, and opt-in GitHub handles only — no PII.
  - `total` integer, required: Always matches `members.length`.
  - `by_tier` object
  - `as_of` string, date-time, nullable: null is the 'no data yet' signal, not an epoch sentinel.

---

[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)
