How do I delete a custom feed using cURL with the API? #2018
-
cURL seems like the simplest thing I might be able to wrap my mind around, but I don't have a clue what to do. I have a couple of lingering feeds that I created with SkyFeed but no longer want. I tried deleting all my feeds in the SkyFeed UI, and this mostly worked, except for these final two zombie feeds. The SkyFeed developer doesn't seem to have any advice on deleting them via the SkyFeed UI. Instead the SkyFeed developer is suggesting this: But I don't have a clue how to do this, or how to even identify the zombie feed until is published again, then at least it seems to have some sort of long string as an identifier. To be clear, UNpublishing these last two feeds does not delete all traces of them; they still linger in the SkyFeed UI just waiting to be republished. I want them to be gone permanently and have no custom feeds associated with my account. I'm not clear whether the zombie records for these two feeds that won't die reside on a Bluesky server, or the SkyFeed developer's server, or if this even matters as far as the API for deleting them is concerned. I've asked but they don't respond. I've created a new app password for any cURL script I might come up with, and I've seen an example of posting "Hello World" to my account using cURL ... POST_FEED_URL='https://bsky.social/xrpc/com.atproto.repo.createRecord'
POST_RECORD="{ \"collection\": \"app.bsky.feed.post\", \"repo\": \"${DID}\", \"record\": { \"text\": \"Hello, world\", \"createdAt\": \"$(date +%Y-%m-%dT%H:%M:%S.%3NZ)\", \"\$type\": \"app.bsky.feed.post\" } }"
curl -X POST \
-H "Authorization: Bearer ${API_KEY}" \
-H 'Content-Type: application/json' \
-d "$POST_RECORD" \
"$POST_FEED_URL" | jq -r ... but now I don't know what to do next, to delete the two records underpinning my two zombie feeds. Any ideas on how I can accomplish this? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
I'm more comfortable with the tool HTTPie (the command First, I resolved your handle to DID: http get https://bsky.social/xrpc/com.atproto.identity.resolveHandle handle==venteto.bsky.social
[...]
{
"did": "did:plc:wecucphzbhaznb64qmvto5oj"
} Let's list all the feed generator records ( http get https://bsky.social/xrpc/com.atproto.repo.listRecords repo==did:plc:wecucphzbhaznb64qmvto5oj collection==app.bsky.feed.generator
[...]
{
"records": []
} It looks like there are no feed generators on this account. Maybe you mean a different account? To view lists, as another example which does return records: http get https://bsky.social/xrpc/com.atproto.repo.listRecords repo==did:plc:wecucphzbhaznb64qmvto5oj collection==app.bsky.graph.list |
Beta Was this translation helpful? Give feedback.
I'm more comfortable with the tool HTTPie (the command
http
) than curl, so i'll give examples with that. You usually have to install this, eg usingapt get install httpie
or homebrew.First, I resolved your handle to DID:
Let's list all the feed generator records (
app.bsky.feed.generator
):http get https://bsky.social/xrpc/com.atproto.repo.listRecords repo==did:plc:wecucphzbhaznb64qmvto5oj collection==app.bsky.feed.generator [...] { "records": [] }
It looks like there are no feed generators on this account. Maybe you mean a differen…