at.happyproto.registry.withdrawRelease
Delete a release record the caller published. This is how a publisher withdraws a release: it deletes from the caller's own repo as them, where com.atproto.repo.deleteRecord sent through a HappyView instance goes wherever that instance's proxy routing points. The release stays indexed and served by exact version, marked withdrawn, and the version can never be published again.
Details · procedure
| Kind | procedure |
|---|---|
| Authority | registry.happyproto.at |
| Indexed |
Procedure
procedure · POSTInput
application/jsonOutput
application/jsonThe release record deleted.
Errors
AuthRequired
The caller's identity could not be determined, so there is no repo to delete from.
InvalidRequest
The slug or version could not name a release.
ReleaseNotFound
That version is not published from the caller's account, or was already withdrawn.
Upstream
The record could not be deleted from 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.
-
dev.knotless.releaseYank
recordThat the owner of a repository withdrew a version of a package it publishes: the dev.knotless.release of the same key in the same account, which itself never changes, stays there to read, but is no longer its package's latest.
-
One release by exact version. Served whatever its status, including `deleted`: that is the left-pad protection the registry exists for.
-
com.atproto.repo.deleteRecord
procedureDelete a repository record, or ensure it doesn't exist. Requires auth, implemented by PDS.
-
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.
-
Every release of a package, newest-indexed first, including withdrawn ones flagged `deleted` — a client resolving an exact version needs to see that it exists.