---
title: "Bulk create guild emojis"
method: POST
path: "/guilds/{guild_id}/emojis/bulk"
tags: ["Guilds"]
---

# Bulk create guild emojis

`POST /guilds/{guild_id}/emojis/bulk`

Bulk create guild emojis. Requires manage_emojis permission. Creates multiple emojis in a single request for efficiency.

## Path parameters

- `guild_id` union, required
  - string, snowflake
  - integer

## Request body

- GuildEmojiBulkCreateRequest
  - `emojis` GuildEmojiCreateRequest[], required — Array of emoji objects to create (1-50 emojis per batch)
    - `name` string, required — The name of the emoji (2-32 characters, alphanumeric and underscores only)
    - `image` string, required

## Response `200`

Success

- GuildEmojiBulkCreateResponse
  - `success` GuildEmojiResponse[], required — Successfully created emojis
    - `id` string, snowflake, required
    - `name` string, required — The name of the emoji
    - `animated` boolean, required — Whether this emoji is animated
    - `nsfw` boolean, required — Deprecated; always false. Retained for compatibility with older clients
  - `failed` object[], required — Emojis that failed to create
    - `name` string, required — The name of the emoji that failed to create
    - `error` string, required — The error message explaining why the emoji failed to create

## Other responses

- `400` — Bad Request - The request was malformed or contained invalid data
- `401` — Unauthorized - Authentication is required or the token is invalid
- `403` — Forbidden - You do not have permission to perform this action
- `429` — Too Many Requests - You are being rate limited
- `500` — Internal Server Error - An unexpected error occurred

## Changes

> 9 revisions in range; 1 not diffed.

- **2026-09-06** `a52a2cf49d9b` — 32 warning
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `400`
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `401`
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `403`
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `500`
  - …28 more
  - …this revision’s changelog is incomplete
- **2026-09-05** `4dbb738a3e22` — 4 info
  - removed the `NSFW_EMOJI_STICKER_BLOCKED` enum value from the `code` response property for the response status `400`
  - removed the `NSFW_EMOJI_STICKER_BLOCKED` enum value from the `code` response property for the response status `401`
  - removed the `NSFW_EMOJI_STICKER_BLOCKED` enum value from the `code` response property for the response status `403`
  - removed the `NSFW_EMOJI_STICKER_BLOCKED` enum value from the `code` response property for the response status `500`
- …earlier changes not shown

[Full history](https://skmtc.dev/fluxer/apis/fluxer-api/changes/guilds/:guild_id/emojis/bulk/post.md)

---

[API](https://skmtc.dev/fluxer/apis/fluxer-api.md) · [All operations](https://skmtc.dev/fluxer/apis/fluxer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fluxer/apis/fluxer-api/revisions/964e23cbdfa5?raw)
