at.happyproto.registry.publishProfile
Check a package profile against the rules the indexer applies, and optionally write it to the caller's repo. The indexer validates a record only after it is published and skips an invalid one quietly, so a publisher writing the record itself gets no feedback; this answers the same refusal before the record exists. Pass validateOnly to check a record without writing it. Like every XRPC procedure this needs an authenticated caller, so validateOnly is a dry run rather than an anonymous one.
Details · procedure
| Kind | procedure |
|---|---|
| Authority | registry.happyproto.at |
| Indexed |
Procedure
procedure · POSTInput
application/jsonAn at.happyproto.plugin.profile record.
The package slug, which becomes the record key. A profile record carries no slug of its own.
maxLength: 512
validateOnly
booleanCheck the record and write nothing. Still requires authentication, as every procedure does.
default: false
Output
application/jsonErrors
AuthRequired
The caller's identity could not be determined, so there is no repo to write to.
InvalidRecord
The record is not a profile the indexer would accept. The message names the reason.
Upstream
The record could not be written to the caller's repo.
NotConfigured
The registry has no identity configured.
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
at.happyproto.registry.updateProfile
procedureReplace a package profile the caller has already published, held to the rules publishProfile applies. This is how a publisher edits a profile: it writes to the caller's own repo as them, where com.atproto.repo.putRecord sent through a HappyView instance goes wherever that instance's proxy routing points. It never creates a profile; publish a new one with publishProfile.
-
at.happyproto.registry.putProject
procedureCreate or update a plugin project in the caller's repo. The first call writes the site.standard.publication, the at.happyproto.registry.project and the software.release.project, in that order, so each is indexed after what it depends on. Later calls update the publication and the at.happyproto.registry.project only; the project record itself is never changed.
-
at.happyproto.registry.publishRelease
procedurePublish a version of a plugin to the caller's repo. Writes a software.release.manifest carrying the artifact, the changelog as a site.standard.document when one is given, the software.release.version, and the channel named by track, moved to the new version, in that order. A record is written only once everything it points at exists, so a failure part-way leaves no dangling reference. Calling again with the same input after such a failure finishes the release rather than refusing it.