put
/channels/{channel_id}/tags/{tag_id}Update a forum tag
Replaces a tag of a forum or media channel. Requires the manage channels permission. Returns the updated channel.
update_forum_tag
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| channel_id* | path | SnowflakeType | The ID of the channel |
| tag_id* | path | SnowflakeType | The ID of the forum tag |
Request body
application/json
json
{
"type": "object",
"properties": {
"name": {
"description": "The name of the tag (1-50 characters)",
"type": "string"
},
"moderated": {
"description": "Whether only moderators can add or remove this tag",
"type": "boolean"
},
"emoji_id": {
"description": "The ID of a custom guild emoji",
"anyOf": [
{
"$ref": "#/components/schemas/SnowflakeType"
},
{
"type": "null"
}
]
},
"emoji_name": {
"description": "The unicode character of the emoji",
"type": [
"string",
"null"
]
}
},
"required": [
"name"
],
"x-fluxer-experiment": "channel_threads"
}Responses
200
Success
json
{
"type": "object",
"properties": {
"id": {
"description": "The unique identifier (snowflake) for this channel",
"$ref": "#/components/schemas/SnowflakeStringType"
},
"guild_id": {
"description": "The ID of the guild this channel belongs to",
"$ref": "#/components/schemas/SnowflakeStringType"
},
"name": {
"description": "The name of the channel",
"type": [
"string",
"null"
]
},
"topic": {
"description": "The topic of the channel",
"type": [
"string",
"null"
]
},
"url": {
"description": "The URL associated with the channel",
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"icon": {
"description": "The icon hash of the channel (for group DMs)",
"type": [
"string",
"null"
]
},
"owner_id": {
"description": "The ID of the owner of the channel (for group DMs)",
"anyOf": [
{
"$ref": "#/components/schemas/SnowflakeStringType"
},
{
"type": "null"
}
]
},
"type": {
"$ref": "#/components/schemas/ChannelType"
},
"position": {
"description": "The sorting position of the channel",
"$ref": "#/components/schemas/Int32Type"
},
"parent_id": {
"description": "The ID of the parent category for this channel",
"anyOf": [
{
"$ref": "#/components/schemas/SnowflakeStringType"
},
{
"type": "null"
}
]
},
"bitrate": {
"description": "The bitrate of the voice channel in bits per second",
"anyOf": [
{
"$ref": "#/components/schemas/Int32Type"
},
{
"type": "null"
}
]
},
"user_limit": {
"description": "The maximum number of users allowed in the voice channel",
"anyOf": [
{
"$ref": "#/components/schemas/Int32Type"
},
{
"type": "null"
}
]
},
"voice_connection_limit": {
"description": "The maximum active voice connections allowed per user in the voice channel",
"anyOf": [
{
"$ref": "#/components/schemas/Int32Type"
},
{
"type": "null"
}
]
},
"rtc_region": {
"description": "The voice region ID for the voice channel",
"type": [
"string",
"null"
]
},
"last_message_id": {
"description": "The ID of the last message sent in this channel",
"anyOf": [
{
"$ref": "#/components/schemas/SnowflakeStringType"
},
{
"type": "null"
}
]
},
"last_pin_timestamp": {
"description": "The ISO 8601 timestamp of when the last pinned message was pinned",
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"permission_overwrites": {
"description": "The permission overwrites for this channel",
"type": "array",
"items": {
"$ref": "#/components/schemas/ChannelOverwriteResponse"
}
},
"recipients": {
"description": "The recipients of the DM channel",
"maxItems": 49,
"type": "array",
"items": {
"$ref": "#/components/schemas/UserPartialResponse"
}
},
"nsfw": {
"description": "Whether the channel is marked as NSFW (effective value, walking channel → category → guild)",
"type": "boolean"
},
"nsfw_override": {
"description": "Per-channel adult-content override; null means inherit from parent category and then guild. Categories use this same field as their own override.",
"type": [
"boolean",
"null"
]
},
"content_warning_level": {
"description": "Channel-level content warning override (0=inherit, 1=force-warn)",
"$ref": "#/components/schemas/ContentWarningLevel"
},
"content_warning_text": {
"description": "Custom channel content warning text (max 200 characters); null inherits from parent or guild",
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"rate_limit_per_user": {
"description": "The slowmode rate limit in seconds",
"$ref": "#/components/schemas/Int32Type"
},
"nicks": {
"description": "Custom nicknames for users in this channel (for group DMs)",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string",
"minLength": 1,
"maxLength": 32
}
},
"flags": {
"description": "Channel flags",
"$ref": "#/components/schemas/Int32Type"
},
"thread_metadata": {
"description": "Thread-specific fields",
"$ref": "#/components/schemas/ThreadMetadataResponse"
},
"applied_tags": {
"description": "IDs of the tags applied to a forum or media post",
"maxItems": 5,
"type": "array",
"items": {
"$ref": "#/components/schemas/SnowflakeStringType"
}
},
"message_count": {
"description": "Messages in the thread, excluding the starter and deleted messages",
"$ref": "#/components/schemas/Int32Type"
},
"total_message_sent": {
"description": "Messages ever sent in the thread, never decremented",
"$ref": "#/components/schemas/Int32Type"
},
"member_count": {
"description": "Approximate number of thread members, capped at 50",
"$ref": "#/components/schemas/Int32Type"
},
"member_ids_preview": {
"description": "IDs of the most recently joined members of a forum or media post, newest first",
"maxItems": 8,
"type": "array",
"items": {
"$ref": "#/components/schemas/SnowflakeStringType"
}
},
"member": {
"description": "The thread member object for the current user",
"$ref": "#/components/schemas/ThreadMemberResponse"
},
"default_auto_archive_duration": {
"description": "Default auto archive duration for new threads",
"anyOf": [
{
"$ref": "#/components/schemas/Int32Type"
},
{
"type": "null"
}
]
},
"default_thread_rate_limit_per_user": {
"description": "Slowmode copied onto new threads",
"$ref": "#/components/schemas/Int32Type"
},
"available_tags": {
"description": "Tags that can be applied to posts",
"maxItems": 20,
"type": "array",
"items": {
"$ref": "#/components/schemas/ForumTagResponse"
}
},
"default_reaction_emoji": {
"description": "Default reaction for posts",
"anyOf": [
{
"$ref": "#/components/schemas/DefaultReactionEmojiResponse"
},
{
"type": "null"
}
]
},
"default_sort_order": {
"description": "Default sort order for posts",
"anyOf": [
{
"$ref": "#/components/schemas/Int32Type"
},
{
"type": "null"
}
]
},
"default_forum_layout": {
"description": "Default layout for forum posts",
"$ref": "#/components/schemas/Int32Type"
},
"default_tag_setting": {
"description": "Default tag search setting",
"type": "string",
"enum": [
"match_some",
"match_all"
]
}
},
"required": [
"id",
"type"
],
"additionalProperties": false
}400
Bad Request - The request was malformed or contained invalid data
json
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Machine-readable error code"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"description": "Field-specific validation errors",
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Field path that failed validation"
},
"code": {
"description": "Machine-readable validation error code",
"type": "string"
},
"message": {
"type": "string",
"description": "Human-readable validation error message"
}
},
"required": [
"path",
"message"
],
"additionalProperties": false
}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}401
Unauthorized - Authentication is required or the token is invalid
json
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Machine-readable error code"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"description": "Field-specific validation errors",
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Field path that failed validation"
},
"code": {
"description": "Machine-readable validation error code",
"type": "string"
},
"message": {
"type": "string",
"description": "Human-readable validation error message"
}
},
"required": [
"path",
"message"
],
"additionalProperties": false
}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}403
Forbidden - You do not have permission to perform this action
json
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Machine-readable error code"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"description": "Field-specific validation errors",
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Field path that failed validation"
},
"code": {
"description": "Machine-readable validation error code",
"type": "string"
},
"message": {
"type": "string",
"description": "Human-readable validation error message"
}
},
"required": [
"path",
"message"
],
"additionalProperties": false
}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}429
Too Many Requests - You are being rate limited
json
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Machine-readable error code"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"description": "Field-specific validation errors",
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Field path that failed validation"
},
"code": {
"description": "Machine-readable validation error code",
"type": "string"
},
"message": {
"type": "string",
"description": "Human-readable validation error message"
}
},
"required": [
"path",
"message"
],
"additionalProperties": false
}
},
"retry_after": {
"type": "number",
"description": "Seconds to wait before retrying"
},
"global": {
"type": "boolean",
"description": "Whether this is a global rate limit"
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}500
Internal Server Error - An unexpected error occurred
json
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Machine-readable error code"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"description": "Field-specific validation errors",
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Field path that failed validation"
},
"code": {
"description": "Machine-readable validation error code",
"type": "string"
},
"message": {
"type": "string",
"description": "Human-readable validation error message"
}
},
"required": [
"path",
"message"
],
"additionalProperties": false
}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}