backend service intended for bbell, provides scheduled & disappearing posts. api.bbell.vt3e.cat/
TypeScript 67.0%
JavaScript 13.7%
CSS 8.4%
HTML 6.6%
TypeSpec 3.5%
Nix 0.7%
44 1 0

Clone this repository

https://tangled.org/vt3e.cat/bbell-backend https://tangled.org/did:plc:2hcnfmbfr4ucfbjpnvjqvt3e/bbell-backend
git@tangled.org:vt3e.cat/bbell-backend git@tangled.org:did:plc:2hcnfmbfr4ucfbjpnvjqvt3e/bbell-backend

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

bbell backend#

a backend service primarily for bluebell, providing scheduled posting and automatic post deletion .,

a hosted version is available at [https://api.bbell.vt3e.cat].

usage#

first, you must authenticate via oauth at /oauth/login. you must pass in either a pds parameter or identity parameter, which can be either a DID or handle.

you can then use either the "test" page (it's more like a proper frontend actually, i got a bit distracted) to schedule and delete posts, or use the xrpc routes.

for examples when working with xrpc, see pkgs/server/examples.

for deleting posts, you can also add a self-label to your post, like cat.vt3e.bbell#marker:<timestamp>, where timestamp is the unix timestamp of when you want the post to be deleted in milliseconds.

for example:

{
	"$type": "app.bsky.feed.post",
	"createdAt": "2026-03-24T00:47:47.474Z",
	"text": "awawwwaawawaw",
	"labels": {
		"$type": "com.atproto.label.defs#selfLabels",
		"values": [
			{
				"$type": "com.atproto.label.defs#selfLabel",
				"val": "cat.vt3e.bbell#marker:1774313267000"
			}
		]
	}
}

for everything else, though, you can use the xrpc routes. you can find the lexicons for these at pkgs/lexicons.

license#

this project is licensed under the european union public license (eupl) v1.2. you can find the full license text either here or on the official eupl website, which also contains translations of the license in various languages.

all code within this repository is licensed under the same license unlesss explicitly stated otherwise.