- app.bivri.actor.defs defs Actor view type definitions. Tiered like app.bsky.actor.defs so embedded views stay cheap: basic is embedded in feed items, detailed is served by getProfile.
- app.bivri.actor.getConsent query Read only the authenticated account's server-local age confirmation and accepted Policy Versions. Absence means not yet confirmed. Birth dates are never retained or returned.
- app.bivri.actor.getPreferences query Read the authenticated account's own preferences. Scoped to the caller and to nobody else: there is no parameter naming whose preferences to read, because one account's preferences are never another account's business. An account that has never set a preference reads the defaults rather than an absence, so a client has nothing to guess.
- app.bivri.actor.getProfile query Get a user profile by DID or handle.
- app.bivri.actor.profile record A declaration of a Bivri member profile.
- app.bivri.actor.putConsent procedure Confirm the authenticated account is at least fourteen on the server's Korean calendar date and accepts both currently Active Policy Versions. The birth date is used only in request memory, never persisted or returned.
- app.bivri.actor.putPreferences procedure Replace the authenticated account's own preferences. Every group sent is replaced whole and every group omitted is left as it was, so a client that knows about one group cannot silently reset another it has never heard of. Sending the same preferences twice is the same as sending them once. Preferences are the account's alone: nothing here names another account, and nothing here is served to one.
- app.bivri.actor.updateProfile procedure Update the authenticated user's profile. Requires OAuth session.
- app.bivri.bookmark.createGroup procedure Create a named bookmark group in the authenticated member's repository.
- app.bivri.bookmark.createItem procedure Place an artwork in one of the authenticated member's bookmark groups.
- app.bivri.bookmark.deleteGroup procedure Delete a bookmark group the authenticated member owns. Deleting a record that is already gone succeeds, so a retried request is safe.
- app.bivri.bookmark.deleteItem procedure Remove an artwork from a bookmark group by deleting the authenticated member's bookmark item record. Deleting a record that is already gone succeeds, so a retried request is safe.
- app.bivri.bookmark.group record A named group a member sorts bookmarked artworks into.
- app.bivri.bookmark.item record A bookmark placing one artwork into one of the member's bookmark groups.
- app.bivri.bookmark.listGroupItems query List items in a bookmark group.
- app.bivri.bookmark.listGroups query List bookmark groups. Requires authentication.
- app.bivri.bookmark.updateGroup procedure Rename a bookmark group the authenticated member owns.
- app.bivri.feed.artwork record Record containing a Bivri artwork: one or more images published together under a single title.
- app.bivri.feed.artworkV2 record Artwork record supporting JPEG, PNG, GIF and WebP originals. Earlier app.bivri.feed.artwork records retain their original schema and identity.
- app.bivri.feed.comment record Record containing a comment on an artwork.
- app.bivri.feed.createArtwork procedure Publish a new artwork to the authenticated member's repository. Requires an OAuth session; the record is written to the member's own PDS.
- app.bivri.feed.createArtworkV2 procedure Publish a new artwork to the authenticated member's repository. Requires an OAuth session; the record is written to the member's own PDS.
- app.bivri.feed.createComment procedure Post a comment from the authenticated member's repository.
- app.bivri.feed.createDraft procedure Create creator-only private Draft metadata for a direct upload by the authenticated member. Requires authentication. Commission and Quest workflows derive their client Party from the awarded relationship instead of accepting a caller-selected DID. Draft bytes are uploaded through a separate authorized path and never enter a PDS while unpublished.
- app.bivri.feed.createLike procedure Like a record from the authenticated member's repository.
- app.bivri.feed.crossPost procedure Cross-post an artwork to Bluesky. Requires authentication.
- app.bivri.feed.defs defs Feed view type definitions
- app.bivri.feed.deleteArtwork procedure Delete an artwork the authenticated member owns from their repository. Deleting a record that is already gone succeeds, so a retried request is safe.
- app.bivri.feed.deleteComment procedure Delete a comment the authenticated member owns. Deleting a record that is already gone succeeds, so a retried request is safe.
- app.bivri.feed.deleteDraft procedure Delete a private Draft owned by the authenticated creator. Non-Parties receive DraftNotFound so the Draft's existence is not disclosed.
- app.bivri.feed.deleteLike procedure Remove a like by deleting the authenticated member's like record. Deleting a record that is already gone succeeds, so a retried request is safe.
- app.bivri.feed.getActorArtworks query Get artworks by a specific actor.
- app.bivri.feed.getActorLikes query Get artworks liked by a specific actor.
- app.bivri.feed.getArtwork query Get artwork details by AT-URI.
- app.bivri.feed.getArtworkComments query Get comments for an artwork.
- app.bivri.feed.getArtworkLikes query Get likes for an artwork.
- app.bivri.feed.getDiscoveryArtworks query Get the public discovery feed. Authentication is not required: a guest sees public artworks and an authenticated member also sees logged_in ones. Unlisted artworks are returned to nobody.
- app.bivri.feed.getDraft query Get private metadata for one Draft when the authenticated member is a Party. A missing Draft and a Draft outside the caller's Parties both return DraftNotFound so existence is not disclosed. Draft bytes use a separate authorized path.
- app.bivri.feed.getInitialFeed query Get the authenticated Member's initial Artwork feed selected by their durable interest Tags. An empty interest set or no currently servable match returns an empty feed rather than silently substituting public discovery results.
- app.bivri.feed.getRelatedTags query Get tags that frequently appear together with a given tag, ranked by co-occurrence count.
- app.bivri.feed.getTagArtworks query Get artworks carrying a tag, paginated by cursor.
- app.bivri.feed.getTimeline query Get timeline of artworks from followed actors. Requires authentication.
- app.bivri.feed.like record Record declaring a like by the author.
- app.bivri.feed.listDrafts query List private Draft metadata for which the authenticated member is a Party. Requires authentication and never returns Draft bytes.
- app.bivri.feed.publishDraft procedure Irreversibly publish a Draft owned by the authenticated creator as a public app.bivri.feed.artwork record. Non-Parties receive DraftNotFound so existence is not disclosed.
- app.bivri.feed.updateArtwork procedure Edit an artwork the authenticated member owns. Only the fields present in the request change; the rest of the record is preserved as it stands at the member's PDS.
- app.bivri.feed.updateArtworkV2 procedure Edit an artwork the authenticated member owns. Only the fields present in the request change; the rest of the record is preserved as it stands at the member's PDS.
- app.bivri.feed.updateComment procedure Edit the text of a comment the authenticated member owns. The artwork and reply parent remain unchanged.
- app.bivri.graph.createFollow procedure Follow another account from the authenticated member's repository.
- app.bivri.graph.deleteFollow procedure Stop following an account by deleting the authenticated member's follow record. Deleting a record that is already gone succeeds, so a retried request is safe.
- app.bivri.graph.follow record Record declaring a social follow by the author.
- app.bivri.graph.getFollowers query Get followers of an actor.
- app.bivri.graph.getFollows query Get actors that an actor follows.
- app.bivri.graph.getSuggestedFollows query Get Actors the authenticated Member could follow next, and say where the list came from. When the Member's account is hosted somewhere other than this deployment's own PDS, their own app.bsky.graph.follow records are read from their own repository and matched to Bivri Actors by DID; every other case, including a Member who is hosted here, a follow list this service could not read, and a follow list that matched nobody, answers with the popular-Creator fallback and names the reason instead of pre
- app.bivri.notif.getNotifications query Get the authenticated member's notifications, paginated by cursor.
- app.bivri.notif.getPushPublicKey query Authenticated member Web Push subscription management. Identity comes only from authentication.
- app.bivri.notif.getUnreadCount query Get the number of the authenticated member's unread notifications, for a badge count.
- app.bivri.notif.registerPush procedure Authenticated member Web Push subscription management. Identity comes only from authentication.
- app.bivri.notif.unregisterPush procedure Authenticated member Web Push subscription management. Identity comes only from authentication.
- app.bivri.notif.updateSeen procedure Mark the authenticated member's notifications as read up to a given time.
- app.bivri.support.addMessage procedure Append a message to one of the authenticated member's own inquiry threads. Authentication is required.
- app.bivri.support.contentDefs defs Public read types for announcements and FAQs.
- app.bivri.support.createInquiry procedure Open a one-to-one support inquiry. Authentication is required.
- app.bivri.support.defs defs Shared types for the support inquiry system.
- app.bivri.support.getAnnouncement query Get one published announcement, with references to the adjacent ones. Authentication is not required.
- app.bivri.support.getFaq query Get one published FAQ entry. Authentication is not required.
- app.bivri.support.getInquiry query Get one inquiry thread with its messages. A member may only read their own inquiries, so authentication is required.
- app.bivri.support.getPolicy query Get a published policy version and its content. Authentication is not required.
- app.bivri.support.listAnnouncementCategories query List the categories that have at least one published announcement. Authentication is not required.
- app.bivri.support.listAnnouncements query List published announcements, paginated by cursor. Authentication is not required.
- app.bivri.support.listFaqCategories query List the categories that have at least one published FAQ. Authentication is not required.
- app.bivri.support.listFaqs query List published FAQ entries, paginated by cursor. Authentication is not required.
- app.bivri.support.listInquiries query List the authenticated member's own inquiries. Authentication is required.
- app.bivri.support.listPolicyVersions query List the metadata history of published policy versions. Authentication is not required.
- app.bivri.support.policyDefs defs Public read types for platform policies.