At this level
com.getorbyt.community · 38- com.getorbyt.community.beginDeletion procedure Begins permanent deletion for an unpublished Community and returns the current PDS declaration to delete. Requires authenticated service authorization by the current declaration holder.
- com.getorbyt.community.cancelDeletion procedure Cancels deletion before the current declaration has been deleted from its PDS. Requires authenticated service authorization by the current declaration holder.
- com.getorbyt.community.checkName query Whether a lowercase Community name is free. Names are globally unique at the AppView, and a record whose name is taken is rejected at projection time rather than at write time, so clients check before writing.
- com.getorbyt.community.createAppeal procedure Creates the post author's single private appeal for a specific Community removal action. Requires authenticated service authorization.
- com.getorbyt.community.createReport procedure Creates a private Community-moderator report for a linked post. Requires authenticated service authorization.
- com.getorbyt.community.declaration record The canonical public descriptor for an Orbyt Community, and the record that declares the Community exists. Its AT-URI is the Community's identity everywhere else in the protocol. The record key is a TID, including for the replacement declaration an accepted ownership transfer produces: the recipient mints it before accepting and names it to the AppView, which stores it as the only URI the continuation may be written at. Every Community is public: the record is world-readable, and the directory a
- com.getorbyt.community.defs defs Recent activity in a Community, so its page can show the people in it and not only its counts.
- com.getorbyt.community.deleteRole procedure Deletes a role the Community defined, or, for the key moderator, puts the built-in moderator role back to its default permissions. A role someone holds cannot be deleted; move them to another role first. Only an administrator may delete roles. Recorded in the moderation log.
- com.getorbyt.community.getCommunity query A single Community by AT-URI or by name, hydrated with viewer state when the request is authenticated. Exactly one of `community` and `name` is required: the AT-URI is the Community's identity, while the name is what a public link can carry.
- com.getorbyt.community.getFeed query A Community's native feed skeleton, served from projected com.getorbyt.community.post links. Clients hydrate post URIs through their authenticated Bluesky AppView. Removed posts are only included for their author and Community moderators.
- com.getorbyt.community.getModmailThread query One Modmail thread and its messages, newest first. Without member, the caller's own thread, which is absent until they first write. With another account's member, the caller needs manage-mail. Viewer-specific and never cached; reading does not mark the thread read (see updateModmailSeen).
- com.getorbyt.community.getPostCommunities query The Community each post was published to, for a batch of posts. A post in no visible Community is omitted. A Community post record outranks a legacy channel tag on the post itself.
- com.getorbyt.community.getWriteStatus query Whether the AppView accepted records the caller wrote to their own repository. Community records are projected from the firehose, not written through this service, so a record that violates a rule this service enforces — a name already taken, a post link the Community's postPolicy forbids — lands in the author's repository and is then silently dropped. This is how the author finds out. Only the caller's own records may be queried.
- com.getorbyt.community.listAuditLog query Lists append-only Community audit events visible to the authenticated moderator or administrator.
- com.getorbyt.community.listCommunities query The public Community directory. Unauthenticated; an authenticated request additionally receives viewer state on each Community.
- com.getorbyt.community.listMembers query A Community's members. Anyone may list active members; listing muted or banned members requires a moderator role.
- com.getorbyt.community.listModerationQueue query Lists private reports and appeals for one Community. Requires authenticated moderator authorization.
- com.getorbyt.community.listModmailThreads query The mod team's Modmail inbox: one thread per member, most recent message first, each marked unread when the member wrote since this moderator last read it. Requires manage-mail. Viewer-specific and never cached.
- com.getorbyt.community.listMyCommunities query The authenticated account's own Community memberships. Defaults to active and muted memberships.
- com.getorbyt.community.listReportedPosts query The moderation queue grouped by post: each reported post once, with how many reports it has and why, newest report first. Requires manage-reports.
- com.getorbyt.community.listRoles query The Community's roles: the built-in owner and moderator roles, then the roles the Community defined, in order. Requires manage-roles. Viewer-specific and never cached.
- com.getorbyt.community.listTransfers query Lists ownership transfers visible to the authenticated caller as current holder, target, or Community administrator.
- com.getorbyt.community.manageMember procedure Mute, ban, or re-role a member. Only an administrator may set a role; a moderator may mute and ban, but never a peer or an administrator. Administration is service state and may be granted to an account that does not hold the declaration record; authority over the record itself is never transferable and always belongs to the repository that holds it.
- com.getorbyt.community.manageModmailThread procedure Archives a member's Modmail thread out of the open inbox, or brings it back. Requires manage-mail. A new message from the member reopens an archived thread on its own.
- com.getorbyt.community.manageTransfer procedure Invites, accepts, declines, or cancels an ownership transfer. Requires authenticated service authorization; only the current declaration holder may invite or cancel and only the target may accept or decline.
- com.getorbyt.community.membership record not from the namespace authority A user-owned canonical membership link, one record per Community. The record key MUST be base32(sha256(community AT-URI)) truncated to 24 characters, lowercase and unpadded, so writing it twice replaces the record instead of adding a second one and a repo can never hold two memberships for the same Community. The AppView rejects a record whose key is not that derivation, so the invariant is enforced rather than assumed. The key is derived from the AT-URI rather than the Community name, which its
- com.getorbyt.community.moderatePost procedure A moderator action on one post's Community-level state. Removal is scoped to the Community; only actions that change state are journaled.
- com.getorbyt.community.post record not from the namespace authority A user-owned canonical link between a Bluesky post and an Orbyt Community. A sidecar record: it lives in the post author's own repository and its record key MUST be the record key of the linked app.bsky.feed.post, exactly as app.bsky.feed.threadgate does. That makes one link per post structural rather than enforced after the fact, and lets the link be fetched with a single com.atproto.repo.getRecord once the post URI is known. The linked post remains canonical in app.bsky.feed.post.
- com.getorbyt.community.replyModmail procedure Replies to a member's Modmail thread as the mod team. Requires manage-mail. Moderators cannot start a thread: they answer one a member opened. The member sees the reply in the thread and in Activity, from the team rather than from the moderator.
- com.getorbyt.community.requestSync procedure Wake the existing Community ingester after a repository write. Acknowledgment is not projection success; use getWriteStatus to check acceptance. Only the caller's own Community record URIs are accepted. Rate limited and coalesced with scheduled ingestion.
- com.getorbyt.community.resolveAppeal procedure Permanently upholds or restores one appealed Community removal. Requires authenticated moderator authorization.
- com.getorbyt.community.resolveReport procedure Resolves one Community report by removing its post or dismissing the report. Requires authenticated moderator authorization.
- com.getorbyt.community.resolveReportedPost procedure Resolves every open report about one post at once: remove the post, or dismiss the reports and keep it. Requires manage-reports, and manage-posts to remove.
- com.getorbyt.community.saveRole procedure Creates a Community role, or changes one. Without a key it creates a role; with one it replaces that role's name and permissions. The key moderator changes what the built-in moderator role may do, and keeps its name. Only an administrator may define roles. Recorded in the moderation log.
- com.getorbyt.community.sendModmail procedure "Message the mods": opens the caller's private thread with the Community's mod team, or continues it. Each account has one thread per Community, and a message reopens it if the mod team archived it. Anyone signed in may write, including a muted or banned member; whoever holds manage-mail answers with replyModmail instead. Rate-limited per sender.
- com.getorbyt.community.setAnnouncement procedure Sets or clears the Community's announcement, shown on its page and, when set or changed, in its members' activity as `communityAnnouncement`. Requires manage-settings. The announcement is service state rather than part of the declaration record, so a moderator granted manage-settings can set it without writing the owner's repository. Setting and clearing are both recorded in the moderation log.
- com.getorbyt.community.updateModmailSeen procedure Marks a Modmail thread read for the caller up to seenAt. Read state is per reader: the member's own, and each moderator's own. The mark only moves forward and never past now. Sending a message marks the thread read for its sender.
- com.getorbyt.community.updatePublication procedure Publishes or unpublishes a Community. Requires authenticated service authorization and a manager action advertised by the Community view.