app.bulleted.admin.undeny

Remove a value from the appview's denylist and rebuild the membership filter. Requires the administrative credential. A denylist with no removal path means one mistyped DID is permanent. Undeny does NOT restore rows a nuke removed; the restoration field says what brings the content back, if anything does.

Details · procedure
Kindprocedure
Authorityadmin.bulleted.app
Indexed

Procedure

procedure · POST

Input

application/json

value

requiredstring

The value to remove. Normalized the same way it was on the way in, so a PDS endpoint written with a trailing slash still matches.

  • maxLength: 2048

Output

application/json

kind

requiredstring

The kind the entry had.

  • knownValues: did | aturi | pds | cid

restoration

requiredstring

How the content comes back, which depends entirely on the kind. backfillOnView: the repository has zero rows, so the next view is an ordinary first view and backfill returns the content by itself. refetchEnqueued: an aturi undeny, where the repository still has all its other rows and NOTHING would ever trigger a backfill, so a targeted com.atproto.repo.getRecord has been queued. immediate: a cid undeny, where the record was never removed and the blob returns on the next cache miss.

  • knownValues: backfillOnView | refetchEnqueued | immediate

value

requiredstring

The value as stored.

Errors

NotDenied

The value is not on the denylist. Distinguished from success on purpose: 'it was already removed' and 'you typed it differently from the way it was stored' are otherwise indistinguishable to the caller.

AdminDisabled

No administrative credential is configured, so the administrative surface does not exist.

Similar lexicons

semantic match

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

  • Add a value to the appview's denylist and, by default, remove what it has already indexed. Requires the administrative credential. Adding to the list stops future indexing; nuking removes what is already there, which is why nuke defaults to true.

  • Page through the appview's denylist, newest first. Requires the administrative credential. You cannot operate a list you cannot read: without this, the only way to audit a takedown is to open the database.