Set emoji preferences
Sets emoji preferences for the authorised account.
PUT
/api/v1/messaging/preferences/emojimessaging: read_write1,000 requests/minute/key · all plansActive API keys: Free 1, Pro 5, Pro+ 5. The request rate is the same on every plan.
Message storage
Message text is encrypted at rest and decrypted for authorised requests. Channel access is restricted to spaces owned by the API key’s account; missing or inaccessible channels return 404. Editing or deleting a message additionally checks its author and can return 403.
Parameters
No path or query parameters.
Request body
application/json · required
| Name | Type | Required | Description |
|---|---|---|---|
version | number | Required | Version used for optimistic concurrency checks. Allowed values: 1. |
favorites | array<object> | Required | Favorites. At most 24 items. |
favorites[].kind | string | Required | Kind. |
favorites[].emoji | string | Optional | Emoji. Minimum length: 1. Maximum length: 32. |
favorites[].id | string (uuid) | Optional | Unique identifier. |
favorites[].shortcode | string | Optional | Shortcode. Minimum length: 1. Maximum length: 64. |
favorites[].url | string (uri) | Optional | Url. |
frequent | array<object> | Required | Frequent. At most 32 items. |
frequent[].ref | object | Required | Ref. |
frequent[].ref.kind | string | Required | Kind. |
frequent[].ref.emoji | string | Optional | Emoji. Minimum length: 1. Maximum length: 32. |
frequent[].ref.id | string (uuid) | Optional | Unique identifier. |
frequent[].ref.shortcode | string | Optional | Shortcode. Minimum length: 1. Maximum length: 64. |
frequent[].ref.url | string (uri) | Optional | Url. |
frequent[].useCount | integer | Required | Use Count. Minimum: 1. |
frequent[].lastUsedAt | integer | Required | Last Used At. Minimum: 0. |
preferredSkinTone | number | null | Optional | Preferred Skin Tone. Default: null. |
updatedAt | integer | Required | Most recent update time. Minimum: 0. |
Response schema
200
Successful response.
| Name | Type | Required | Description |
|---|---|---|---|
version | number | Required | Version used for optimistic concurrency checks. Allowed values: 1. |
favorites | array<object> | Required | Favorites. |
favorites[].kind | string | Required | Kind. |
favorites[].emoji | string | Optional | Emoji. |
favorites[].id | string | Optional | Unique identifier. |
favorites[].shortcode | string | Optional | Shortcode. |
favorites[].url | string | Optional | Url. |
frequent | array<object> | Required | Frequent. |
frequent[].ref | object | Required | Ref. |
frequent[].ref.kind | string | Required | Kind. |
frequent[].ref.emoji | string | Optional | Emoji. |
frequent[].ref.id | string | Optional | Unique identifier. |
frequent[].ref.shortcode | string | Optional | Shortcode. |
frequent[].ref.url | string | Optional | Url. |
frequent[].useCount | number | Required | Use Count. |
frequent[].lastUsedAt | number | Required | Last Used At. |
preferredSkinTone | null | number | Required | Preferred Skin Tone. Preferred Fitzpatrick tone for emoji that support skins. |
updatedAt | number | Required | Most recent update time. |
Errors
400· JSON errorInvalid JSON body.
401· JSON errorMissing or invalid API key. Use Authorization: Bearer <token>.
403· JSON errorRequires messaging: read_write; ownership or feature restrictions may also deny access.
404· JSON errorRequest failed (NOT_FOUND).
409· JSON errorconflict.
429· JSON errorAPI rate limit exceeded (1000 requests per minute). Retry shortly.
500· JSON errorinternal server error.
503· JSON errorObject storage is not configured. Set MinIO (or compatible S3) env vars to upload files.
Request example
Set FLORALITY_KEY in your environment. These examples use demo identifiers.
curl --request PUT 'https://floralitys.com/api/v1/messaging/preferences/emoji' \
--header "Authorization: Bearer $FLORALITY_KEY" \
--header "Content-Type: application/json" \
--data '{
"version": 1,
"favorites": [
{
"kind": "custom",
"id": "11111111-1111-4111-8111-111111111111",
"shortcode": "demo",
"url": "https://example.com/demo"
}
],
"frequent": [
{
"ref": {
"kind": "custom",
"id": "11111111-1111-4111-8111-111111111111",
"shortcode": "demo",
"url": "https://example.com/demo"
},
"useCount": 1,
"lastUsedAt": 1767225600000
}
],
"updatedAt": 1767225600000
}'Responses
Successful response.
{
"version": 1,
"favorites": [
{
"kind": "custom",
"id": "11111111-1111-4111-8111-111111111111",
"shortcode": "demo",
"url": "https://example.com/demo"
}
],
"frequent": [
{
"ref": {
"kind": "custom",
"id": "11111111-1111-4111-8111-111111111111",
"shortcode": "demo",
"url": "https://example.com/demo"
},
"useCount": 0,
"lastUsedAt": 1767225600000
}
],
"preferredSkinTone": null,
"updatedAt": 1767225600000
}Example values are illustrative demo data.
