fyi.opensocial.uploadImage

Upload an image for the profile avatar or banner. Requires group.configure. Binary input like com.atproto.repo.uploadBlob; the group is a parameter because the blob has to land in that group's repo for a profile record to reference it.

Details · procedure
Kindprocedure
Authorityopensocial.fyi
Indexed

Procedure

procedure · POST

Parameters

query string

group

requiredstring · did

The group DID. Every method is served by the group's host and authorized against that group's roles.

Input

*/*

Output

application/json

blob

requiredblob

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • Upload one of the files a group's site is made of: a page, a stylesheet, a script, an image or a font. For the site, by whoever holds group.configure; for a channel for chosen people, by any member, to name in a channel they save with putPeopleChannel. Binary input like com.atproto.repo.uploadBlob; the group is a parameter because the blob has to land in that group's repo for its records to reference it.

  • 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.

  • Update the authenticated user's profile

  • Sets a community's picture or banner. The bytes are uploaded to the community's own repo, which is why this goes through the AppView: a community's blobs can only be written with the community credentials the AppView holds, and a space record must reference a blob living in the repo that holds the record. Replaces whatever was there before.

  • Replace the profile: name, description, join policy, where it meets, its topics and languages. Requires group.configure. Fields are inlined rather than referencing fyi.opensocial.profile, because a record def cannot be used as an input object — mirrors createGroup.