---
title: "Create a copy of an internal page. Roles: admin."
method: POST
path: "/api/pages/{pageId}/copy"
tags: ["Pages"]
---

# Create a copy of an internal page. Roles: admin.

`POST /api/pages/{pageId}/copy`

## Path parameters

- `pageId` integer, required

## Response `200`

OK

- PageResponsePageFull
  - `success` boolean
  - `error` string
  - `page` PageFull
    - `audit` Audit
      - `createdTime` string, date-time
      - `modifiedTime` string, date-time
      - `modifiedBy` string
    - `alternateLocales` object
      - `empty` boolean
    - `pageId` integer
    - `membershipId` integer
    - `token` string
    - `typeCode` 'BLOCK' | 'BOOK' | 'PAGE' | 'SPLASH'
    - `sharedMembershipId` integer
    - `sharedPageId` integer
    - `title` string
    - `subTitle` string
    - `shortTitle` string
    - `detail` string
    - `body` string
    - `slug` string
    - `publishStartDate` string, date
    - `publishEndDate` string, date
    - `external` boolean
    - `previewing` boolean
    - `defaultViewType` string
    - `defaultSort` 'ALPHABETICAL' | 'REVERSE_CHRONOLOGICAL' | 'PRIORITY'
    - `parentPageId` integer
    - `priority` integer
    - `coverImageUuid` string, uuid
    - `thumbnailImageUuid` string, uuid
    - `coverVideoUrl` string
    - `externalPluginId` integer
    - `externalId` string
    - `sponsorId` integer
    - `audienceId` integer
    - `audiencePromo` AudiencePromo
      - `contentId` integer
      - `actionText` string
      - `localizedValues` AudiencePromoLocaleValues
        - `actionText` string
    - `splashDisplayMax` integer
    - `externalCssUrl` string
    - `sponsor` Sponsor
      - `sponsorId` integer
      - `membershipId` integer, required
      - `detail` string
      - `imageUuid` string, uuid
      - `targetLinkUrl` string
      - `title` string, required
      - `audit` Audit
        - `createdTime` string, date-time
        - `modifiedTime` string, date-time
        - `modifiedBy` string
    - `pages` PageCoreWithSponsor[]
      - `audit` Audit
        - `createdTime` string, date-time
        - `modifiedTime` string, date-time
        - `modifiedBy` string
      - `alternateLocales` object
        - `empty` boolean
      - `pageId` integer
      - `membershipId` integer
      - `token` string
      - `typeCode` 'BLOCK' | 'BOOK' | 'PAGE' | 'SPLASH'
      - `sharedMembershipId` integer
      - `sharedPageId` integer
      - `title` string
      - `subTitle` string
      - `shortTitle` string
      - `detail` string
      - `body` string
      - `slug` string
      - `publishStartDate` string, date
      - `publishEndDate` string, date
      - `external` boolean
      - `previewing` boolean
      - `defaultViewType` string
      - `defaultSort` 'ALPHABETICAL' | 'REVERSE_CHRONOLOGICAL' | 'PRIORITY'
      - `parentPageId` integer
      - `priority` integer
      - `coverImageUuid` string, uuid
      - `thumbnailImageUuid` string, uuid
      - `coverVideoUrl` string
      - `externalPluginId` integer
      - `externalId` string
      - `sponsorId` integer
      - `audienceId` integer
      - `audiencePromo` AudiencePromo
        - `contentId` integer
        - `actionText` string
        - `localizedValues` AudiencePromoLocaleValues
          - `actionText` string
      - `splashDisplayMax` integer
      - `externalCssUrl` string
      - `sponsor` Sponsor
        - `sponsorId` integer
        - `membershipId` integer, required
        - `detail` string
        - `imageUuid` string, uuid
        - `targetLinkUrl` string
        - `title` string, required
        - `audit` Audit
          - `createdTime` string, date-time
          - `modifiedTime` string, date-time
          - `modifiedBy` string
      - `locale` string
      - `isPublished` boolean
      - `isPrivate` boolean
    - `sharedMembershipToken` string
    - `sharedPageToken` string
    - `audience` AudienceCore
      - `audit` Audit
        - `createdTime` string, date-time
        - `modifiedTime` string, date-time
        - `modifiedBy` string
      - `audienceId` integer
      - `membershipId` integer
      - `name` string
      - `criterionType` 'COMPOUND' | 'COURSE' | 'GROUP' | 'IDENTITY_PROVIDER' | 'PROFILE_QUESTION' | 'PROGRAM'
      - `criterionOperator` 'AND' | 'OR' | 'EQUALS' | 'NOT_EQUALS'
      - `criterionValue` string
      - `invalidTime` string, date-time
      - `groupDescendantsIncluded` boolean
      - `idpPluginId` integer
    - `contents` ContentFull[]
      - `body` string
      - `keywords` string
      - `contentId` integer
      - `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
    - `playlists` PlaylistCore[]
      - `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
      - `locale` string
      - `isTemplate` boolean
    - `locale` string
    - `isPublished` boolean
    - `isPrivate` boolean

## Other responses

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

## Changes

- **2026-09-02** `870f28ba2607` — 5 info
  - added the optional property `error/errorId` to the response with the `400` status
  - added the optional property `error/errorId` to the response with the `401` status
  - added the optional property `error/errorId` to the response with the `403` status
  - added the optional property `error/errorId` to the response with the `404` status
  - …1 more

[Change history](https://skmtc.dev/mobilecoach/apis/untitled-api/changes/api/pages/:pageId/copy/post.md)

---

[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/870f28ba2607/schema)
