RPC: ListSpaces
Lists the spaces a peer can provide, filtered to the spaces whose root the caller may read.
Fetching schema…

Part of Stem. This page defines the ListSpaces method of the sync RPC specification. A client uses it to learn what a site or a trusted peer holds before choosing scopes.

The formal schema is attached as the schemaDefinition of this page: a struct {key, input, output} with key pinned to ListSpaces.

Lists the spaces a peer can provide, filtered to what the caller may read. Unauthenticated callers see public spaces only.

Input

The input is rpc/type/page.

Output

field

type

required

meaning

spaces

list of principal

yes

Spaces this peer holds a root for and that the caller may read.

nextPageToken

string or null

yes

Token for the next page, or null.

Rules

    A space is listed when the server holds the space root's Node blob and the connection may read that root. An unauthenticated connection sees only spaces whose root is readable by everyone.

    Ordering is by the space principal bytes, so pages are stable across calls while nothing changes; a space that appears between pages may be missed until the next full listing.

    Listing a space is itself a disclosure of its root Node blob and is recorded as such.

Today (HM24)

HM24's P2P.ListSpaces pages over account roots and, for unauthenticated callers, returns public ones only. Stem's version is the same call with the readers filter instead of the public/private flag.

Example

{"key": "ListSpaces", "input": {"pageSize": 50}}
{"spaces": [{"/": {"bytes": "7QEAq1…"}}, {"/": {"bytes": "7QEBz9…"}}], "nextPageToken": null}

See also

Do you like what you are reading? Subscribe to receive updates.

Unsubscribe anytime