---
title: "Transparency report (notices and decisions, last 12 months)"
method: GET
path: "/v1/transparency"
tags: ["Reports and takedowns"]
---

# Transparency report (notices and decisions, last 12 months)

`GET /v1/transparency`

## Request

- Base URL: `https://api.memestack.ai`
- URL: `https://api.memestack.ai/v1/transparency`
- Auth: none declared

Public, no auth. Aggregates only, never an id: for each of the last 12 calendar months (UTC, the current month last) and for the whole period — TAKE IT DOWN Act takedown notices (received, removed, kept, open, the median hours to an admin's decision, how many carried the 48-hour deadline and how many were decided within it), DSA notices of illegal content (received, actioned, dismissed, open) and statements of reasons by decision. Bucketed by the month a notice or statement was received. `removed` includes notices closed because their image was deleted; only an admin's decision counts toward the median and the deadline count. Edge-cached for an hour; the query string is ignored. Rate limited per IP.

## Response `200`

The report.

- object
  - `generated_at` string, date-time, required
  - `period` object, required
    - `from` string, required: First month (UTC), inclusive.
    - `to` string, required: Last month (UTC), inclusive.
  - `totals` TransparencyCounts, required: GET /v1/transparency: one month's (or the whole period's) counts.
    - `takedown_notices` object, required: TAKE IT DOWN Act notices (intimate images shared without consent, sexual deepfakes).
      - `received` integer, required
      - `removed` integer, required: Closed with the image removed — including notices closed because the image was deleted before an admin decided.
      - `kept` integer, required: Closed with the image kept.
      - `open` integer, required
      - `median_hours_to_decision` number, nullable, required: Median hours from receipt to an admin's decision, one decimal; null when nothing was decided.
      - `with_deadline` integer, required: Notices that carried the 48-hour deadline (the image was public when the notice arrived).
      - `decided_on_time` integer, required: Of those, decided by an admin within the deadline.
    - `dsa_notices` object, required: Notices of illegal content (EU Digital Services Act Art. 16).
      - `received` integer, required
      - `actioned` integer, required
      - `dismissed` integer, required
      - `open` integer, required
    - `statements_of_reasons` object, required: Statements of reasons (DSA Art. 17) by decision; every decision value is present.
      - `total` integer, required
      - `by_decision` object, required
        - `content_removed` integer, required
        - `content_rejected` integer, required
        - `content_hidden_pending_review` integer, required
        - `content_access_disabled` integer, required
        - `account_restricted` integer, required
        - `account_suspended` integer, required
        - `account_banned` integer, required
  - `months` object[], required: One entry per month, oldest first; months with nothing are included.
    - `takedown_notices` object, required: TAKE IT DOWN Act notices (intimate images shared without consent, sexual deepfakes).
      - `received` integer, required
      - `removed` integer, required: Closed with the image removed — including notices closed because the image was deleted before an admin decided.
      - `kept` integer, required: Closed with the image kept.
      - `open` integer, required
      - `median_hours_to_decision` number, nullable, required: Median hours from receipt to an admin's decision, one decimal; null when nothing was decided.
      - `with_deadline` integer, required: Notices that carried the 48-hour deadline (the image was public when the notice arrived).
      - `decided_on_time` integer, required: Of those, decided by an admin within the deadline.
    - `dsa_notices` object, required: Notices of illegal content (EU Digital Services Act Art. 16).
      - `received` integer, required
      - `actioned` integer, required
      - `dismissed` integer, required
      - `open` integer, required
    - `statements_of_reasons` object, required: Statements of reasons (DSA Art. 17) by decision; every decision value is present.
      - `total` integer, required
      - `by_decision` object, required
        - `content_removed` integer, required
        - `content_rejected` integer, required
        - `content_hidden_pending_review` integer, required
        - `content_access_disabled` integer, required
        - `account_restricted` integer, required
        - `account_suspended` integer, required
        - `account_banned` integer, required
    - `month` string, required

## Other responses

- `429`: Rate limit exceeded.
- `503`: Database temporarily unavailable (Retry-After).

---

[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)
