---
title: "/creatives/{creative_id}"
method: DELETE
path: "/projects/{project_id}/creatives/{creative_id}"
tags: ["Creatives"]
---

# /creatives/{creative_id}

`DELETE /projects/{project_id}/creatives/{creative_id}`

## Request

- Base URL: `https://api.productbyte.com/v1`
- URL: `https://api.productbyte.com/v1/projects/{project_id}/creatives/{creative_id}`
- Auth: HTTP bearer

Removes the creative.

**This also removes the draft and scheduled posts that use it**, because a post without its creative has nothing to publish. `deleted_post_count` reports how many went. Published posts keep their record and stay up on the channel — use `POST /posts/{post_id}/retract` for those.

Requires the `creatives:write` scope.

## Path parameters

- `project_id` string, required: The project the creative belongs to.
- `creative_id` string, required: The creative to remove.

## Response `200`

The creative was removed.

- object
  - `deleted_post_count` integer, required: Draft and scheduled posts removed because they used this creative. Published posts are untouched.

## Other responses

- `401`: Missing, unknown, revoked, or expired key (`API_KEY_UNAUTHORIZED`).
- `403`: The key lacks `creatives:write`, or the project is outside its allowlist.
- `404`: No such creative in this project (`API_CREATIVE_NOT_FOUND`).
- `429`: Too many requests for this key (`API_RATE_LIMITED`). Back off and retry; `Retry-After` gives the window length.

---

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