At this level
app.didpic.write ยท 10- app.didpic.write.createBlock procedure Create an app.didpic.graph.block record on the authenticated viewer's own PDS, mediated by the AppView using its server-held session (confidential OAuth client only).
- app.didpic.write.createComment procedure Create an app.didpic.feed.comment record on the authenticated viewer's own PDS, mediated by the AppView using its server-held session (confidential OAuth client only). image, when present, must come from a prior app.didpic.write.uploadBlob call. Either text or image (or both) should be present โ matching the underlying record lexicon, this isn't enforced here either.
- app.didpic.write.createFollow procedure Create an app.didpic.graph.follow record on the authenticated viewer's own PDS, mediated by the AppView using its server-held session (confidential OAuth client only).
- app.didpic.write.createLike procedure Create an app.didpic.feed.like record on the authenticated viewer's own PDS, mediated by the AppView using its server-held session (confidential OAuth client only).
- app.didpic.write.createPost procedure Create an app.didpic.feed.post record on the authenticated viewer's own PDS, mediated by the AppView using its server-held session (confidential OAuth client only). image must come from a prior app.didpic.write.uploadBlob call.
- app.didpic.write.deleteRecord procedure Delete a record by at:// URI on the authenticated viewer's own PDS, mediated by the AppView using its server-held session (confidential OAuth client only). Covers unlike, unfollow, unblock, and deleting a post or comment โ whichever record the URI points at.
- app.didpic.write.getSelfRecord query Read a record at rkey 'self' from the authenticated viewer's own PDS, mediated by the AppView using its server-held session (confidential OAuth client only). Returns an empty object (not an error) when the record doesn't exist.
- app.didpic.write.putProfile procedure Create or replace the authenticated viewer's app.didpic.actor.profile record at rkey 'self' on their own PDS, mediated by the AppView using its server-held session (confidential OAuth client only). Merges over the existing record: an omitted field keeps its current stored value, an empty string clears a text field. avatar/banner, when present, must come from a prior app.didpic.write.uploadBlob call; clearAvatar/clearBanner remove the image instead.
- app.didpic.write.updatePost procedure Edit an existing app.didpic.feed.post record via putRecord on the authenticated viewer's own PDS, mediated by the AppView using its server-held session (confidential OAuth client only). The image, aspectRatio, and createdAt are immutable and carried over from the existing record untouched; only text, facets, alt, and labels may change.
- app.didpic.write.uploadBlob procedure Upload raw image bytes to the authenticated viewer's own PDS, mediated by the AppView using its server-held session (confidential OAuth client only). Mirrors com.atproto.repo.uploadBlob. The returned blob ref is passed into createPost, createComment, or putProfile to attach it to a record. This endpoint applies no per-context size limit beyond a generous ceiling โ the PDS enforces the real limit (post/comment 5MB, avatar 1MB, banner 2MB) when the blob is actually attached to a record.