---
title: "Duplicate a BadgeClass"
method: POST
path: "/v2/badgeclasses/{idOrEntityId}/duplicate"
tags: ["BadgeClasses"]
---

# Duplicate a BadgeClass

`POST /v2/badgeclasses/{idOrEntityId}/duplicate`

Create a duplicate of the original BadgeClass with a new name

## Path parameters

- `idOrEntityId` string, required

## Request body

- V2DuplicateBadgeClassRequest
  - `newName` string, required — The new name for the duplicate badgeclass

## Response `201`

BadgeClass created

- V2BadgeClass
  - `achievementType` string, nullable — The type of achievement
  - `alignments` ApiAlignment[], required — List of objects describing objectives or educational standards
    - `displayAsSkill` boolean, required
    - `targetCode` string, nullable
    - `targetDescription` string, nullable
    - `targetFramework` string, nullable
    - `targetName` string, required
    - `targetUrl` string, required
  - `archivalNote` string, nullable
  - `archived` boolean, nullable
  - `archivedDate` string, date-time, nullable
  - `createdAt` string, date-time, nullable — Timestamp when the BadgeClass was created
  - `createdBy` string, nullable — Entity ID of the user who created this BadgeClass
  - `criteriaNarrative` string, nullable — Markdown formatted description of the criteria
  - `criteriaUrl` string, uri, nullable — External URL that describes in a human-readable format the criteria for the BadgeClass
  - `description` string, required — Short description of the badge class
  - `entityId` string, required — Unique identifier for this BadgeClass
  - `entityType` string, required
  - `expires` BadgeApiBadgeClassExpirationInfo — Optional default expiration period for awards of this BadgeClass
    - `amount` number, double, nullable — The quantity of the expiration.
    - `duration` 'days' | 'weeks' | 'months' | 'years', nullable — The unit of the expiration.
  - `extensions` object, required
  - `id` string, required — Internal ID for this BadgeClass
  - `image` string, required — Image of the badge class. Most commonly an URL.
  - `imageAltText` string, nullable
  - `imagePath` string, nullable — Internal image path
  - `issuer` string, required — Entity ID of the issuer
  - `issuerOpenBadgeId` string, uri, required — OB URL of the issuer
  - `name` string, required — Name of the badge class
  - `ob3Properties` ApiOB3Properties, required
    - `creditHours` number, float, nullable — Credit hours associated with this entity, or credit hours possible.
    - `fieldOfStudy` string, nullable — Category, subject, area of study, discipline, or general branch of knowledge.
    - `humanCode` string, nullable — The code, generally human readable, associated with an achievement
    - `specialization` string, nullable — Name given to the focus, concentration, or specific area of study defined in the achievement.
  - `openBadgeId` string, uri, required — URL of the OpenBadge compliant json
  - `originalJson` string, nullable — The original OB JSON if the badge class was exported
  - `preferences` ApiPreferences, required
    - `customPropertyValues` ApiCustomPropertyValue[] — Values for the custom properties defined on the issuer.
      - `arrayValue` string[], nullable — The values for a multi-choice type property.
      - `doubleValue` number, double, nullable — The value for a number type property.
      - `propertyId` string, required — ID of the custom property defined at the issuer level.
      - `public` boolean, required — If true, property will be visible on public pages. Can not be true if the issuer level definition is not public.
      - `stringValue` string, nullable — The text value for text-type properties, or the ID of the choice in case of a single choice type property.
    - `defaultPrintCertTemplateId` string, nullable — The ID of the certificate template which should be used by default for printing badge awards. Must be one of the enabled certificates.
    - `enabledPrintCertTemplateIds` string[], required — The IDs of the certificate templates which are enabled for printing badge awards for recipients. If empty or missing, all issuer level enabled certificates will be enabled.
    - `includeOnPublicPages` boolean — Whether the badge class should be included on public pages
  - `source` string, nullable — The original source of the BadgeClass
  - `sourceUrl` string, nullable — The original URL of the BadgeClass if it was imported
  - `tags` string[], required — List of tags that describe the BadgeClass

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `429` — Too Many Requests
- `500` — Internal Server Error

---

[API](https://skmtc.net/instructure/apis/public-api-docs.md) · [All operations](https://skmtc.net/instructure/apis/public-api-docs/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/instructure/public-api-docs/revisions/44eb39b4bd65/schema)
