---
title: "Unpublish one of your experiences for this creator"
method: POST
path: "/experiences/{experienceUuid}/unpublish"
---

# Unpublish one of your experiences for this creator

`POST /experiences/{experienceUuid}/unpublish`

## Request

- Base URL: `https://api.fanvue.com`
- URL: `https://api.fanvue.com/experiences/{experienceUuid}/unpublish`
- Auth: OAuth 2
  - Authorization code: `https://auth.fanvue.com/oauth2/auth`
  - Token URL: `https://auth.fanvue.com/oauth2/token` scopes: `write:experience`

Takes an experience your app published off the creator's profile. The row is kept and the same `externalExperienceId` can be published again.

    Fans holding paid access answer 409 with the impact: retry with `acknowledgePaidImpact` and the impact echoed as `acknowledgedImpact` to proceed, unless fans hold live recurring access, which blocks it outright. A POST rather than a DELETE: the body names your app and carries the acknowledgement, and the row survives to be published again.

## Path parameters

- `experienceUuid` string, uuid, required

## Headers

- `X-Fanvue-API-Version` string, required

## Request body

- object
  - `appUuid` string, uuid, required: Your app's UUID.
  - `acknowledgePaidImpact` boolean: Set to `true` on a retry to accept the paid impact a previous attempt answered 409 with. Send the 409's `impact` alongside as `acknowledgedImpact`.
  - `acknowledgedImpact` object: The `impact` the previous 409 reported, echoed back verbatim.
    - `affectedFanCount` integer, required: Distinct fans holding paid access right now, across subscriptions and purchases.
    - `activeSubscriptionCount` integer, required: Subscriptions that still grant access. Any at all blocks the change outright.
    - `pendingSubscriptionInvoiceCount` integer, required: In-flight initial subscription charges. Block, like a settled subscription.
    - `oneTimePurchaseCount` integer, required: Distinct fans holding a settled one-off purchase. Needs acknowledging.
    - `pendingPurchaseCount` integer, required: In-flight one-off purchase attempts. Need acknowledging, like a settled purchase.

## Response `204`

Experience unpublished

## Other responses

- `400`: Bad Request - API version not supported OR validation failed OR invalid UUID
- `401`: Unauthorized Response
- `403`: Three refusals, told apart by their shape. A named refusal the app can act on carries `error` and `message`: the creator is outside the fan-experiences rollout, has not installed the app, the app cannot carry experiences, or Fanvue has removed this experience (`experience_suspended`, lifted on reinstatement). The token lacking `write:experience` carries `error` alone (`Insufficient scopes`). The app named in `appUuid` not being the calling app carries `message` alone (`Forbidden`).
- `404`: Experience not found, or not your app's
- `409`: Fans have paid for access this change takes away. `paid_impact_acknowledgement_required` is retried with the acknowledgement fields; `blocked_active_subscriptions` cannot proceed from the API
- `410`: API version no longer supported (sunset)
- `429`: Too many requests - rate limit exceeded
- `502`: The write could not be completed against the upstream
- `503`: Developer API upstream is not configured

## Changes

- **2026-10-21** `966260af2770`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/fanvue/apis/fanvue-api/changes/experiences/:experienceUuid/unpublish/post.md)

---

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