---
title: "Delete Studio Opportunity"
method: DELETE
path: "/playground/opportunities"
tags: ["AI_PLAYGROUND", "OPPORTUNITIES"]
---

# Delete Studio Opportunity

`DELETE /playground/opportunities`

Unpublish a Studio-created opportunity (AI-7498).

A real ClickHouse delete on both opportunity tables, not a status change:
the aggregated table takes ``max(status)``, so a soft-delete written through
the insert path could never be reversed. Restricted to opportunities that
carry Studio provenance, so a pipeline-detected opportunity cannot be removed
here — that comes back as HTTP 422 ``not_studio_created``.

## Query parameters

- `opportunity_id` string, required
- `instance_id` integer, required
- `navigationSource` string, nullable

## Response `200`

Successful Response

- DeleteStudioOpportunityResponse — ``DELETE /studio/opportunities`` — unpublish a Studio-created opportunity. A real delete (a ClickHouse mutation on both opportunity tables), not a status change: ``global_opportunities_aggregated`` aggregates ``status`` with ``max()``, so a soft-delete could never be undone through the insert path.
  - `opportunity_id` string, required
  - `instance_id` integer, required
  - `deleted` boolean

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-11** `70e0a3e5cb0d` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/myaltimate/apis/fastapi/changes/playground/opportunities/delete.md)

---

[API](https://skmtc.dev/myaltimate/apis/fastapi.md) · [All operations](https://skmtc.dev/myaltimate/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/myaltimate/apis/fastapi/revisions/43b5caed3c56?raw)
