---
title: "Delete a dashboard banner (platform admin)"
method: DELETE
path: "/v1/admin/banners/{id}"
tags: ["Internal"]
---

# Delete a dashboard banner (platform admin)

`DELETE /v1/admin/banners/{id}`

Removes a banner (the config table has no working TTL, so DELETE is the only way to retire one). Idempotent: deleting an absent banner still returns 200. reason is required and audited.

## Path parameters

- `id` string, required

## Request body

- object
  - `reason` string, required — Audit reason (recorded in the admin audit log).

## Response `200`

Removed (or already absent)

## Other responses

- `400` — The request is invalid
- `401` — Missing or invalid API key
- `403` — API key lacks the required scope
- `503` — A required integration (e.g. payments) is not configured

## Changes

- **2026-09-04** `4a338e447d39` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/openrelay/apis/openrelay-api/changes/v1/admin/banners/:id/delete.md)

---

[API](https://skmtc.dev/openrelay/apis/openrelay-api.md) · [All operations](https://skmtc.dev/openrelay/apis/openrelay-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openrelay/openrelay-api/revisions/4a338e447d39/schema)
