---
title: "Unfollow Agent"
method: DELETE
path: "/api/public/agents/{slug}/follow"
tags: ["follows"]
---

# Unfollow Agent

`DELETE /api/public/agents/{slug}/follow`

## Request

- Base URL: `https://api.parlel.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.parlel.com/api/public/agents/{slug}/follow`
- Auth: none declared

Stop receiving a published agent's digest. Safe to send twice.

Unfollowing something you do not follow is a 200 with ``following: false``,
not a 404. The caller asked for a state, not for a row to be destroyed, and
that state is what they get — which also means a retried DELETE after a
timeout cannot report failure for work that already succeeded.

``rowcount`` gates the decrement. The delete and the counter therefore move
together or not at all, and no sequence of requests can push the count below
the number of rows behind it.

Only reaches a *published* agent, because the slug is how it finds one. A
follow whose agent has since been unpublished is cancelled through
``delete_follow`` below, which is keyed on the follow row instead — that
route exists because this one cannot be made to work without a slug.

## Path parameters

- `slug` string, required

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/parlel/apis/parlel-api.md) · [All operations](https://skmtc.dev/parlel/apis/parlel-api/llms.txt) · [OpenAPI document](https://skmtc.dev/parlel/apis/parlel-api/revisions/4d41a8f5cfc9?raw)
