---
title: "Mark your own image as controversial"
method: POST
path: "/v1/images/{id}/mark-controversial"
tags: ["Uploads"]
---

# Mark your own image as controversial

`POST /v1/images/{id}/mark-controversial`

## Request

- Base URL: `https://api.memestack.ai`
- URL: `https://api.memestack.ai/v1/images/{id}/mark-controversial`
- Auth: HTTP bearer

Uploader self-label. Sets the image's controversy label to 'controversial' so it is hidden from safe-mode browsing and blurred for signed-out viewers. Takes no body: the only thing this endpoint can do is raise the rating — it never marks an image safe and never clears a label (admins do that from the moderation tab). Idempotent: calling it again on an already-marked image answers the same 200. The caller must be the uploader (or an admin); anyone else gets 404, never 403. Extension-scoped tokens are refused (403 EXTENSION_SCOPE_FORBIDDEN).

## Path parameters

- `id` string, uuid, required

## Response `200`

The label is now 'controversial'. This is the one response in which an uploader sees their own label; the field is admin-only on every listing and on /meta.

- object
  - `id` string, uuid, required
  - `controversy_label` 'controversial', required

## Other responses

- `401`: Authentication required.
- `403`: Extension-scoped token (EXTENSION_SCOPE_FORBIDDEN).
- `404`: Image not found or not yours.

---

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