Data

The directory, machine readable. No key, no signup, no rate limit worth mentioning. It is a list of hobby BBSes.

Right now

StateBoards
online1

Endpoints

GET /api/boards.json
Every listed board: name, owner, description, where to dial it, how many lines it has and how many are busy, whether it is up, and how long it has been up. Cached for a few seconds.
POST /announce
How a board lists itself. One JSON object, about 200 bytes, repeated every few minutes. Plain HTTP on purpose: the boards are microcontrollers with no TLS stack.
GET /health
Two bytes, for uptime checks.

What is not in it

Nothing about callers. Not handles, not addresses, not counts of who did what, not a word anybody typed. Boards do not send it and this server would drop it if they did. The activity figures some boards publish are counts of calls and caller-minutes, given voluntarily by the sysop, and they are marked as self-reported because they are.

Writing something that lists itself

The protocol is published and deliberately dull: any software that sends the payload gets listed, whatever it runs on. It is documented in PROTOCOL.md, and this whole server is free software, so you can run your own directory instead of using this one. That is the intended outcome, not a grudging permission.