- social.coves.actor.block record Record declaring a block relationship against another user. Blocks are public and one-directional: only the blocker's view is affected.
- social.coves.actor.defs defs Aggregated statistics for a user profile
- social.coves.actor.getComments query Get a user's comments for their profile page.
- social.coves.actor.getPosts query Get a user's posts for their profile page.
- social.coves.actor.getProfile query Get a user's profile with aggregated statistics
- social.coves.actor.profile record A user's profile information
- social.coves.actor.signup procedure Register a new account on the Coves instance. Creates account on PDS and indexes in AppView.
- social.coves.actor.updateProfile procedure Update the authenticated user's profile
- social.coves.aggregator.authorization record Authorization for an aggregator to post to a community with specific configuration. Published in the community's repository by moderators. The record key MUST be the authorized aggregator's DID, guaranteeing at most one authorization per (community, aggregator) pair. Similar to social.coves.actor.subscription.
- social.coves.aggregator.createApiKey procedure Create an API key for the authenticated aggregator. Requires OAuth authentication. The API key is returned ONCE and cannot be retrieved again. Store it securely.
- social.coves.aggregator.defs defs Statistics about an aggregator's usage
- social.coves.aggregator.disable procedure Disable an aggregator for a community. Updates the authorization record to set enabled=false. Requires moderator permissions.
- social.coves.aggregator.enable procedure Enable an aggregator for a community. Creates an authorization record in the community's repository. Requires moderator permissions.
- social.coves.aggregator.getApiKey query Get information about the authenticated aggregator's API key. Note: The actual key value is NEVER returned - only metadata about the key.
- social.coves.aggregator.getAuthorizations query Get list of communities that have authorized a specific aggregator. Used by aggregators to query which communities they can post to. Authentication optional.
- social.coves.aggregator.getServices query Get information about aggregator services. Can fetch one or multiple aggregators by DID. Authentication optional.
- social.coves.aggregator.listForCommunity query List all aggregators authorized for a specific community. Used by community settings UI to show enabled/disabled aggregators. Authentication optional.
- social.coves.aggregator.register procedure Register an existing aggregator DID with this Coves instance. Aggregators must first create their own DID via PLC directory, then call this endpoint to register. Domain ownership is verified via .well-known/atproto-did file.
- social.coves.aggregator.revokeApiKey procedure Revoke the authenticated aggregator's API key. After revocation, the aggregator must complete OAuth flow again to create a new API key. This action cannot be undone.
- social.coves.aggregator.service record Declaration of an aggregator service that can post to communities. Published in the aggregator's own repository. Similar to app.bsky.feed.generator and app.bsky.labeler.service.
- social.coves.aggregator.updateConfig procedure Update configuration for an enabled aggregator. Updates the authorization record's config field. Requires moderator permissions.
- social.coves.community.acceptance record A community's attestation that it accepts a post. Written only by the community's key holder, automatically once admission checks pass - machine attestation, not human approval. The community is implicit in the repository this record lives in. The record key is deterministic: the unpadded lowercase base32 encoding of the SHA-256 digest of the canonical subject AT-URI (fixed 52 characters, always rkey-safe), so a post has exactly one acceptance rkey per community, concurrent writers converge idem
- social.coves.community.block record Record declaring a block relationship against a community. Blocks are public.
- social.coves.community.comment record A comment on a post or another comment. Comments live in user repositories and support nested threading.
- social.coves.community.comment.create procedure Create a comment on a post or another comment. Comments support nested threading, rich text, embeds, and self-labeling.
- social.coves.community.comment.defs defs Comment is blocked due to viewer blocking author or moderation action
- social.coves.community.comment.delete procedure Delete a comment. Only the comment author can delete their own comments.
- social.coves.community.comment.getComments query Get comments for a post with threading and sorting support. Supports hot/top/new sorting, configurable nesting depth, and pagination.
- social.coves.community.comment.update procedure Update an existing comment's content, facets, embed, languages, or labels. Threading references (reply.root and reply.parent) are immutable and cannot be changed.
- social.coves.community.create procedure Create a new community. Requires authentication.
- social.coves.community.defs defs Aggregated statistics for a community
- social.coves.community.get query Get detailed information about a community. Authentication optional; viewer state will be included if authenticated.
- social.coves.community.getBlockedCommunities query Enumerates the communities the requesting account is currently blocking. Requires authentication; the list is always the caller's own, though each block is a public record in the caller's repository.
- social.coves.community.getMembers query Get list of users with membership status in a community
- social.coves.community.getSubscribers query Get list of users subscribed to a community
- social.coves.community.list query List communities with various sorting options. Authentication optional; viewer state will be included if authenticated.
- social.coves.community.post record A post in a Coves community. Posts live in community repositories and persist independently of the author. DEPRECATED: no new records are written to this collection. Successor: social.coves.community.postv2, which lives in the author's repository.
- social.coves.community.post.create procedure Create a new post in a community
- social.coves.community.post.defs defs Minimal author info for blocked posts
- social.coves.community.post.delete procedure Delete a post
- social.coves.community.post.get query Get posts by AT-URI. Supports batch fetching for feed hydration. Returns posts in same order as input URIs. Auth optional: when authenticated, viewer state is populated.
- social.coves.community.post.getStatus query Get one community's admission decision about one post. Intentionally UNAUTHENTICATED: the caller with the strongest need is an author on another server whose post is pending on this host, and they have no account here to authenticate with. It is also the only way a rejection is reachable at all - a submission refused before it was ever accepted writes no community record, so there is no repository record and no firehose event carrying it, and without this endpoint an author whose post vanished c
- social.coves.community.post.update procedure Update an existing post
- social.coves.community.postv2 record A post authored by a user, living in the author's repository. Successor to the deprecated social.coves.community.post: authorship is derived from the repository the record lives in, so there is no in-record author field. A post claiming a community is not visible in it until the community writes a social.coves.community.acceptance for it - community surfaces render from acceptance records only. Repo placement attributes authorship as vouched for by a verifying relay or a direct DID-resolved PDS
- social.coves.community.profile record A community's profile information (V2: stored in community's own repository)
- social.coves.community.removal record A community's record that a post has been removed from it. Written in the same com.atproto.repo.applyWrites commit that deletes the social.coves.community.acceptance, so the firehose never carries a half-completed moderation action. Removal is URI-scoped and terminal: it applies to the post URI across later author edits, not only to the version it pins. A post rejected at submission time was never accepted and writes no record. Removed is exited only by an explicit moderator restore: an atomic c
- social.coves.community.search query Search for communities by name or description
- social.coves.community.subscribe procedure Subscribe to a community to see its posts in your feed. Requires authentication.
- social.coves.community.subscription record A subscription to a community
- social.coves.community.unsubscribe procedure Unsubscribe from a community. Requires authentication.
- social.coves.community.update procedure Update community profile. Requires authentication and moderator/admin permissions.
- social.coves.community.wiki record Community wiki page
- social.coves.embed.external object External link embed with optional aggregated sources for megathreads
- social.coves.embed.images object Image set embed supporting multiple images (max 8)
- social.coves.embed.imagesWithAttachment object Images with an external link or a quoted post. At most eight images total across both galleries. Comments allow only a quoted-post attachment.
- social.coves.embed.post object Embedded reference to another post (quoted post)
- social.coves.embed.video object Video embed with metadata
- social.coves.feed.defs defs A post with optional context about why it appears in a feed
- social.coves.feed.getAll query Get a global feed of all posts across communities
- social.coves.feed.getCommunity query Get a feed of posts from a specific community
- social.coves.feed.getDiscover query Get the public discover feed showing posts from all communities
- social.coves.feed.getTimeline query Get the home timeline feed for the authenticated user
- social.coves.feed.searchPosts query Full-text search over visible posts, across every community or restricted to one. Results honour the same admission, deletion and viewer-block rules as social.coves.feed.getDiscover and social.coves.feed.getCommunity.
- social.coves.feed.vote record Record declaring a vote (upvote or downvote) on a post or comment. Requires authentication.
- social.coves.feed.vote.create procedure Create or toggle a vote on a post or comment. If a vote in the same direction exists, it will be removed (toggled off). If a vote in the opposite direction exists, it will be replaced.
- social.coves.feed.vote.delete procedure Delete a vote on a post or comment
- social.coves.notification.defs defs One notification in the authenticated account's list.
- social.coves.notification.getPreferences query Get notification preferences for the authenticated account.
- social.coves.notification.getUnreadCount query Get the number of unread notifications for the authenticated account, capped at 101 (101 means more than 100).
- social.coves.notification.listNotifications query List the authenticated account's notifications (replies, mentions and upvote groups), newest first. A deleted or removed reference keeps its row as a placeholder with a status and no content.
- social.coves.notification.putPreferences procedure Update the authenticated account's notification preferences.
- social.coves.notification.updateSeen procedure Advance the authenticated account's notification seen time.