Skip to content

Unfollow a tag

DELETE
/tags/{tag}/follow

Removes the caller’s tag_follows row (#1123). Idempotent: unfollowing a tag you do not follow is a 204, not a 404.

The tag is trimmed on the way in exactly as it is on the write path, so a follow and its unfollow normalise to the same key. No length refusal here, unlike POST: an over-long tag cannot be in the table, so the delete simply matches nothing — which is the right answer to “make sure I am not following this”.

tag
required
string
>= 1 characters <= 200 characters

The tag itself, URL-encoded. Tags are a CORPUS rather than an entity — post_tags has no id to address one by — so the string is the identifier.

Matching against the corpus is EXACT, because GET /posts’s tag filter is exact. The server trims surrounding whitespace (the same normalisation post_tags writes apply) and does nothing else: folding case here would give the reader a rail chip whose ?tag= filter finds nothing while their Following feed fills with differently-cased posts. Unifying case across the corpus is the #789 vocabulary arc’s decision.

Unfollowed (or was not following)

Authentication required, missing, or invalid

object
error
required

Human-readable error summary

string
Example
the request could not be completed
Example
{
"error": "authentication required: sign in and retry with a valid session or API token"
}

Unexpected server error

object
error
required

Human-readable error summary

string
Example
the request could not be completed