channels
channels

List School Channels

School Spaces: the private channel(s) of the organization(s) the current user belongs to. Auto-joins them as a ChannelMember (for unread tracking).

org_id scopes the answer to ONE school, and the school surfaces pass it. Without it this returns every school the viewer belongs to merged into one list, which is right for the chat sidebar — that is the viewer's own list of places, not a page about one institution — and wrong everywhere else. A coordinator of two schools opened one school's Channels tab and saw the other school's channels in it.

Not a filter the client could have applied for itself: the auto-join below is a WRITE, so an unscoped call quietly enrols the viewer in every channel of every school they belong to whichever page they happened to open. Scoping the query scopes the write with it.

Membership is still what decides. org_id may only narrow what the viewer would have been shown anyway — asking for a school you are not in returns nothing rather than 403, because the honest answer to "your channels at that school" is that you have none, and a 403 would confirm the school exists.

get/channels/school

Query parameters

org_idstring nullable

Scope to ONE school. Omit for every school you are in.

Scope to ONE school. Omit for every school you are in.

Headers

authorizationstring nullable

Response

Successful Response

{"stackTrail":"paths:/channels/school:get:responses:200:content:application/json:schema","oasType":"schema","type":"unknown"}

Changes

No recorded changes to this endpoint across all 1 revision of this API.