# Upload emoji from existing upload

Processes an existing upload (created via /uploads) as a custom emoji. Clients must first create an upload and PUT the file to the returned URL, then call this endpoint with the uploadId.

RBAC: requires Emojis.Manage

Endpoint: POST /api/v1/custom_emojis/upload
Version: 1.0
Security: header

## Query parameters:

  - `category` (string, required)
    Category of the emoji

  - `domain` (string,null)

  - `overwrite` (boolean)
    Should existing emojis be overwritten if shortcode matches

  - `shortcode` (string, required)
    Shortcode of the emoji

  - `uploadId` (string, required)
    ID of the previously created upload containing the emoji file
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `visible` (boolean, required)
    Whether the emoji should be visible in the picker

## Response 200 fields (application/json):

  - `shortcode` (string, required)

  - `category` (string,null, required)

  - `url` (string, required)

  - `staticUrl` (string, required)

  - `visibleInPicker` (boolean, required)

## Response 400 fields (application/json):

  - `errorCode` (string, required)
    Error code

  - `message` (string, required)
    Error message

  - `docUrl` (string)
    Link to documentation

## Response 401 fields (application/json):

  - `errorCode` (string, required)
    Error code

  - `message` (string, required)
    Error message

  - `docUrl` (string)
    Link to documentation


