Topics
GET /v1/spaces/{space}/topics lists a space's live, world-readable topics and
GET /v1/spaces/{space}/topics/{topic} fetches one by its stable topic ID. Both
return id (the stable topic ID — pass it as topic to the posts listing),
name, and description, which is null when the topic has none.
curl 'https://api.dfos.com/v1/spaces/ystrickler/topics?limit=20'
curl 'https://api.dfos.com/v1/spaces/ystrickler/topics/topic_74t62thfte432avf6vv327'
The listing is ordered by name ascending, then id ascending, and uses the
shared cursor pagination. A private, deleted, or
otherwise gated topic is absent, and a space with its Blog turned off serves no
topics at all. Both endpoints return the same 404 Not Found when the space has
no public profile or is missing, and when the topic ID is unknown or malformed,
belongs to another space, or names a topic that is deleted, gated, or carries no
public post feed.
Listing a topic's posts
curl 'https://api.dfos.com/v1/spaces/ystrickler/posts?topic=topic_74t62thfte432avf6vv327'
An unknown, gated, or foreign topic ID produces an empty posts page, never an error — check the topic endpoint above to tell "no posts yet" from "not a public topic".