---
title: "Remove a content depiction (takedown)"
method: DELETE
path: "/api/v1/solo-accounts/{accountId}/content/{externalContentId}"
tags: ["Solo Accounts"]
---

# Remove a content depiction (takedown)

`DELETE /api/v1/solo-accounts/{accountId}/content/{externalContentId}`

## Request

- Base URL: `https://easy2257.com`
- URL: `https://easy2257.com/api/v1/solo-accounts/{accountId}/content/{externalContentId}`
- Auth: HTTP bearer

Records that a depiction came down on your platform, whether through DMCA, a performer request, or moderation. Idempotent, and it never 404s on the content id: an unknown `externalContentId` returns `200` with `{ "deleted": false }`. A `404` means the `accountId` is not one of yours. Inside the 7-year retention window the depiction is marked removed with who removed it and why, rather than erased, which is exactly what an inspector needs to see. Outside the window it is deleted outright. Fires `content_log.deleted` on an actual removal. Under the TAKE IT DOWN Act, pull the file from your CDN within 48 hours of that event even when Easy2257 initiated it.

## Path parameters

- `accountId` string, required
- `externalContentId` string, required

## Response `200`

Removed, or a no-op if nothing matched.

- DeleteContentResponse
  - `deleted` boolean, required: true if a depiction was removed. false if nothing matched that `externalContentId`, which is a successful no-op, not an error.
  - `depictionId` string: Present only when `deleted` is true.
  - `contentLogId` string: Present only when `deleted` is true.

## Other responses

- `400`: Invalid request: a required field is missing or malformed.
- `401`: No `Authorization: Bearer` header, or a key that is unknown, revoked, or expired. The body carries only `error`, never a `code`.
- `403`: Rejected before the handler: a test-mode key (`TEST_MODE_UNAVAILABLE`) or a partner account that is not ACTIVE. Never used for cross-partner access, which returns 404.
- `404`: No such account, or it belongs to another partner.
- `409`: `CONSENT_PENDING` or `CONSENT_DECLINED`: the creator has not approved the link to your platform, so nothing was ever loggable against the account and there is nothing to remove. These two only. The POST route has a third `409` code for an inactive creator account, and this route deliberately does not: a takedown must keep working on a lapsed account.
- `422`: The account has no linked Easy2257 user, so nothing was ever loggable against it.
- `429`: Rate limit exceeded: 300 requests per 60 seconds per API key, shared across all `/api/v1` endpoints (requests without a `Bearer` key fall back to 60 per 60 seconds per client IP, and a per-address flood ceiling of 1200 per 60 seconds also applies). Honor `Retry-After`.
- `500`: Server error. Retry with exponential backoff.

---

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