---
title: "Update an existing BadgeClass."
method: PUT
path: "/v2/badgeclasses/{idOrEntityId}"
tags: ["BadgeClasses"]
---

# Update an existing BadgeClass.

`PUT /v2/badgeclasses/{idOrEntityId}`

Previously awarded Assertions will be updated with image rebaking

## Path parameters

- `idOrEntityId` string, required

## Request body

- V2BadgeClassForUpdate
  - `achievementType` string — The type of achievement
  - `alignments` ApiAlignment[] — 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
  - `criteriaNarrative` string — Markdown formatted description of the criteria
  - `criteriaUrl` string, uri — External URL that describes in a human-readable format the criteria for the BadgeClass
  - `description` string, nullable, required — Short description of the BadgeClass
  - `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
  - `image` string, required — Image of the badge class as a base64-encoded data URI. External URLs are not allowed.
  - `imageAltText` string
  - `name` string, nullable, required — Name of the BadgeClass
  - `ob3Properties` ApiOB3PropertiesForUpdate
    - `creditHours` number, float, required — Credit hours associated with this entity, or credit hours possible.
    - `fieldOfStudy` string, required — Category, subject, area of study, discipline, or general branch of knowledge.
    - `humanCode` string, required — The code, generally human readable, associated with an achievement
    - `specialization` string, required — Name given to the focus, concentration, or specific area of study defined in the achievement.
  - `preferences` ApiPreferencesForUpdate
    - `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 — 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.
    - `includeOnPublicPages` boolean — Whether the badge class should be included on public pages
  - `tags` string[] — List of tags that describe the BadgeClass

## Response `200`

OK

- LegacyResponseWrapperV2BadgeClass
  - `errorCode` string, nullable
  - `fieldErrors` object, required
  - `latestTermsVersion` integer, nullable
  - `nonFieldErrors` string[], required
  - `result` V2BadgeClass[], required
    - `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
  - `status` BadgrStatus, required
    - `description` string, required
    - `success` boolean, required
  - `timestamp` string, date-time, nullable
  - `validationErrors` string[], required
  - `warnings` object, required

## 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)
