---
title: "Copy a template to a new playlist. Roles: admin, member."
method: POST
path: "/api/playlists/{playlistId}/copy"
tags: ["Playlists"]
---

# Copy a template to a new playlist. Roles: admin, member.

`POST /api/playlists/{playlistId}/copy`

## Path parameters

- `playlistId` integer, required

## Request body

- PlaylistCopyRequest
  - `title` string, required
  - `description` string

## Response `200`

OK

- PlaylistResponsePlaylistFull
  - `success` boolean
  - `error` string
  - `playlist` PlaylistFull
    - `audit` Audit
      - `createdTime` string, date-time
      - `modifiedTime` string, date-time
      - `modifiedBy` string
    - `alternateLocales` object
      - `empty` boolean
    - `playlistId` integer
    - `membershipId` integer
    - `userMembershipId` integer
    - `title` string
    - `description` string
    - `totalDurationMins` integer
    - `contentFilters` ContentFilterItem[]
      - `type` 'TAG_CATEGORY' | 'TAG_ID', required
      - `value` string, required
    - `playlistSections` PlaylistSectionFull[]
      - `audit` Audit
        - `createdTime` string, date-time
        - `modifiedTime` string, date-time
        - `modifiedBy` string
      - `alternateLocales` object
        - `empty` boolean
      - `playlistSectionId` integer
      - `playlistId` integer
      - `title` string
      - `description` string
      - `sequence` integer
      - `totalDurationMins` integer
      - `contentFilters` ContentFilterItem[]
        - `type` 'TAG_CATEGORY' | 'TAG_ID', required
        - `value` string, required
      - `contents` PlaylistSectionContentFull[]
        - `audit` Audit
          - `createdTime` string, date-time
          - `modifiedTime` string, date-time
          - `modifiedBy` string
        - `playlistSectionId` integer
        - `contentId` integer
        - `sequence` integer
        - `body` string
        - `keywords` string
        - `tags` TagFull[]
          - `audit` Audit
            - `createdTime` string, date-time
            - `modifiedTime` string, date-time
            - `modifiedBy` string
          - `alternateLocales` object
            - `empty` boolean
          - `tagId` integer
          - `title` string
          - `color` string
          - `category` string
          - `membershipId` integer
          - `priority` integer
          - `tagGroup` string
          - `locale` string
        - `title` string
        - `detail` string
        - `thumbnailImageUuid` string, uuid
        - `externalPluginId` integer
        - `externalId` string
        - `subTitle` string
        - `membershipId` integer
        - `assets` AssetCore[]
          - `audit` Audit
            - `createdTime` string, date-time
            - `modifiedTime` string, date-time
            - `modifiedBy` string
          - `alternateLocales` object
          - `assetId` integer
          - `token` string, uuid
          - `membershipId` integer
          - `assetType` string
          - `title` string
          - `detail` string
          - `status` string
          - `numPages` integer
          - `sourceUrl` string
          - `url` string
          - `thumbnailImageUuid` string, uuid
          - `vendor` 'ABUSE_PREVENTION_SYSTEMS' | 'CLASSMARKER' | 'GAMEPLAN' | 'I9_SPORTS' | 'NCGA' | 'SAFESPORT' | 'ULTIMATE' | 'ULTIMATE_SKILLS'
          - `properties` object
          - `locale` string
        - `previewing` boolean
        - `contentType` string
        - `isPublished` boolean
      - `locale` string
    - `locale` string
    - `isTemplate` boolean

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `500` — Internal server error

---

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