post
/packs/{pack_type}Create pack
Creates a new emoji or sticker pack owned by the authenticated user. The pack type is specified in the path parameter and can be either "emoji" or "sticker". Returns the newly created pack with its metadata.
create_pack
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| pack_type* | path | string | The pack type |
Request body
application/json
json
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the pack"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The description of the pack"
}
},
"required": [
"name"
]
}Responses
200
Success
json
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^(0|[1-9][0-9]*)$",
"description": "The unique identifier (snowflake) for the pack"
},
"name": {
"type": "string",
"description": "The display name of the pack"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The description of the pack"
},
"type": {
"type": "string",
"enum": [
"emoji",
"sticker"
],
"description": "The type of expression pack (emoji or sticker)"
},
"creator_id": {
"type": "string",
"pattern": "^(0|[1-9][0-9]*)$",
"description": "The ID of the user who created the pack"
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "ISO8601 timestamp of when the pack was created"
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "ISO8601 timestamp of when the pack was last updated"
},
"installed_at": {
"type": "string",
"format": "date-time",
"description": "ISO8601 timestamp of when the pack was installed by the user"
}
},
"required": [
"id",
"name",
"description",
"type",
"creator_id",
"created_at",
"updated_at"
]
}400
Bad Request - The request was malformed or contained invalid data
json
{
"type": "object",
"properties": {
"code": {
"$ref": "#/components/schemas/APIErrorCode"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"type": "array",
"description": "Field-specific validation errors",
"items": {
"$ref": "#/components/schemas/ValidationErrorItem"
}
}
},
"required": [
"code",
"message"
]
}401
Unauthorized - Authentication is required or the token is invalid
json
{
"type": "object",
"properties": {
"code": {
"$ref": "#/components/schemas/APIErrorCode"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"type": "array",
"description": "Field-specific validation errors",
"items": {
"$ref": "#/components/schemas/ValidationErrorItem"
}
}
},
"required": [
"code",
"message"
]
}403
Forbidden - You do not have permission to perform this action
json
{
"type": "object",
"properties": {
"code": {
"$ref": "#/components/schemas/APIErrorCode"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"type": "array",
"description": "Field-specific validation errors",
"items": {
"$ref": "#/components/schemas/ValidationErrorItem"
}
}
},
"required": [
"code",
"message"
]
}429
Too Many Requests - You are being rate limited
json
{
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"RATE_LIMITED"
]
},
"message": {
"type": "string"
},
"retry_after": {
"type": "number",
"description": "Seconds to wait before retrying"
},
"global": {
"type": "boolean",
"description": "Whether this is a global rate limit"
}
},
"required": [
"code",
"message",
"retry_after"
]
}500
Internal Server Error - An unexpected error occurred
json
{
"type": "object",
"properties": {
"code": {
"$ref": "#/components/schemas/APIErrorCode"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"type": "array",
"description": "Field-specific validation errors",
"items": {
"$ref": "#/components/schemas/ValidationErrorItem"
}
}
},
"required": [
"code",
"message"
]
}