Skip to content
NDC Developer Docs

Badges

A badge is displayed next to a user’s name in their profile, or next to the guild icon in its profile. Some built-in badges are automatically defined, namely Staff and Premium (for users) and Verified, Partnered and Discoverable (for guilds). The icons for these internal badges can be overridden, but no other property can be edited.

Update user badges and Update guild badges assign badges. List badges provides a list of user or guild badges.

GET/v1/admin/badgesAudit reason

Returns the badges object. Requires badge:list.

StatusBodyCondition
200badges objectThe badges were returned

The operation records one read Admin audit entry with action list_badges and the metadata key result_count.

200 requests per minute for each authenticated user, on the admin:lookup bucket.

POST/v1/admin/badgesAudit reason

Creates a badge and returns it. Requires badge:create.

FieldTypeDescription
typestringuser or guild
namestringThe name of the badge (1-64 characters)
tooltipstringThe text shown when hovering over the badge image (1-256 characters)
iconstringThe SVG markup of the icon
url??stringThe absolute HTTP URL opened when the badge is clicked, if any
position?integerThe order in which the badge appears in a profile
FieldTypeDescription
badgebadge objectThe created badge
StatusBodyCondition
200response bodyThe badge was created
400error responseINVALID_FORM_BODY or MAX_BADGES

Badges Update is emitted with the new badge. The operation records one Admin audit entry with action create_badge, target type badge, the badge ID as the target, and the metadata keys type and name.

200 requests per minute for each authenticated user, on the admin:general bucket.

PATCH/v1/admin/badges/{badge_id}Audit reason

Applies a partial update to a badge and returns it. Requires badge:update.

FieldTypeDescription
badge_idsnowflakeThe ID of the badge

Every field is optional and an omitted field is left unchanged.

FieldTypeDescription
name?stringThe name of the badge (1-64 characters)
tooltip?stringThe text shown when hovering over the badge (1-256 characters)
icon?stringThe replacement SVG markup
url?stringThe absolute HTTP URL opened when the badge is clicked, or null for none
position?integerThe order in which the badge appears in a profile
FieldTypeDescription
badgebadge objectThe updated badge
StatusBodyCondition
200response bodyThe badge was updated
400error responseINVALID_FORM_BODY, because a field or the icon failed validation
404error responseUNKNOWN_BADGE, because the badge does not exist

Badges Update is emitted with the updated badge. The operation records one Admin audit entry with action update_badge, target type badge, the badge ID as the target, and the metadata key fields.

200 requests per minute for each authenticated user, on the admin:general bucket.

DELETE/v1/admin/badges/{badge_id}Audit reason

Deletes a badge. Requires badge:delete. Accounts and guilds keep the badge ID, and clients stop showing it because no definition resolves it.

FieldTypeDescription
badge_idsnowflakeThe ID of the badge
FieldTypeDescription
successbooleanAlways true
StatusBodyCondition
200response bodyThe badge was deleted
404error responseUNKNOWN_BADGE, because the badge does not exist

Badges Update is emitted with the deleted badge ID. The operation records one Admin audit entry with action delete_badge, target type badge, the badge ID as the target, and the metadata keys type and name.

200 requests per minute for each authenticated user, on the admin:general bucket.

PUT/v1/admin/badges/builtin/{badge}Audit reason

Overrides the icon of a built-in badge, or restores its default icon, and returns the built-in badge icons object. Requires badge:update.

FieldTypeDescription
badgestringstaff, premium, verified, partnered, or discoverable
FieldTypeDescription
icon?stringThe SVG markup of the icon, or null to restore the default icon
StatusBodyCondition
200built-in badge icons objectThe icon was updated
400error responseINVALID_FORM_BODY, because the icon failed validation

Badges Update is emitted with the changed icon. The operation records one Admin audit entry with action update_builtin_badge_icon, target type badge, and the metadata keys badge and reset.

200 requests per minute for each authenticated user, on the admin:general bucket.