---
title: "Duplicate experience"
method: POST
path: "/experiences/{id}/duplicate"
tags: ["Experiences"]
---

# Duplicate experience

`POST /experiences/{id}/duplicate`

Duplicates an existing experience. The name will be copied, unless provided. The new experience will be attached to the same products as the original experience.
If duplicating a Forum or Chat experience, the new experience will have the same settings as the original experience, e.g. who can post, who can comment, etc.
No content, e.g. posts, messages, lessons from within the original experience will be copied.


Required permissions:
 - `experience:create`

## Path parameters

- `id` string, required

## Request body

- object — Parameters for DuplicateExperience
  - `name` string, nullable — The display name for the duplicated experience. Defaults to the original experience's name.

## Response `200`

A successful response

- Experience — An experience is a feature or content module within a product, such as a chat, course, or custom app.
  - `app` object, required — The app that powers this experience, defining its interface and behavior.
    - `icon` object, nullable, required — The icon image for this app, displayed on the app store, product pages, checkout, and as the default icon for experiences using this app.
      - `url` string, nullable, required — A pre-optimized URL for rendering this attachment on the client. This should be used for displaying attachments in apps.
    - `id` string, required — The unique identifier for the app.
    - `name` string, required — The display name of this app shown on the app store and in experience navigation. Maximum 30 characters.
  - `company` object, required — The company that owns this experience.
    - `id` string, required — The unique identifier for the company.
    - `route` string, required — URL slug for the account's store page, e.g. `pickaxe` in whop.com/pickaxe.
    - `title` string, required — The display name of the company shown to customers.
  - `created_at` string, date-time, required — The datetime the experience was created.
  - `id` string, required — The unique identifier for the experience.
  - `image` object, nullable, required — The custom logo image for this experience. Null if no custom logo has been uploaded.
    - `url` string, nullable, required — A pre-optimized URL for rendering this attachment on the client. This should be used for displaying attachments in apps.
  - `is_public` boolean, required — Whether this experience is publicly visible to all users, including those without a membership.
  - `name` string, required — The display name of this experience shown to users in the product navigation. Maximum 255 characters.
  - `order` string, nullable, required — The sort position of this experience within its section. Lower values appear first. Null if no position has been set.
  - `products` object[], required — The list of products this experience is attached to, which determines which customers have access. Empty if the experience is only visible to authorized company team members.
    - `id` string, required — The unique identifier for the product.
    - `route` string, required — URL slug in the product's public link, e.g. `pickaxe-analytics` in whop.com/company/pickaxe-analytics.
    - `title` string, required — The display name of the product shown to customers on the product page and in search results.

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `422` — Verification required
- `429` — Too many requests
- `500` — Internal server error

---

[API](https://skmtc.net/whop/apis/whop-api.md) · [All operations](https://skmtc.net/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/whop/whop-api/versions/866821546d67/schema)
