Skip to content
Developers
Menu

API reference

Stickers

Stickers: server stickers managed with Manage Expressions, the built-in Pip pack, and sticker messages (sticker_ids when sending). Behind the stickers flag.

Every path is relative to https://api.palloo.app/v1. Send a bot token as Authorization: Bearer palloo_bot_... unless the operation says otherwise; see Authentication.

On this page

List sticker packs

GET /sticker-packs Bot token: Call it with a bot token (people can call it too).

The built-in sticker packs (the Pip pack), usable in every server and direct message.

Built-in stickers have short IDs such as pip_hello instead of IDs and no hash; clients ship their images. Whether stickers can be sent somewhere is the stickers flag for that server (or the account, in direct messages).

Responses

200

The packs.

Body: object

Example response (200)
{
  "sticker_packs": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "stickers": [
        {
          "id": "string",
          "community_id": "string",
          "pack_id": "string",
          "name": "string",
          "description": "string",
          "tags": "string",
          "format": {},
          "animated": false,
          "hash": "string",
          "width": 1,
          "height": 1,
          "uploader_id": {},
          "created_at": "2026-10-15T09:00:00Z"
        }
      ]
    }
  ]
}
401

unauthenticated: the bearer token is missing, invalid or expired.

Body: Error

WWW-Authenticate header.

429

rate_limited: too many attempts. Every operation a bot calls is also limited per bot (50 at once, then 50 per second), so any authenticated operation can answer this to a bot. Changes to a community's structure (creating or changing the community, channels, roles, member roles, overwrites, invites, kicks, bans, timeouts, report updates and actions, and bots) are also limited per caller (30 at once, then 1 per second) and per community (60 at once, then 1 per second), and creating communities per caller (10 at once, then 1 every 5 minutes).

Body: Error

Retry-After header.

500

internal: an unexpected server error. Details are only in server logs.

Body: Error

List stickers

GET /communities/{id}/stickers Bot token: Call it with a bot token (people can call it too).

The server's stickers and its sticker slots.

For members. uploader_id is only included for members with Manage Expressions. slots is how many stickers the server's tier allows. Changes arrive as the gateway event community_stickers_update (CommunityStickersUpdate).

Parameters

Parameters of List stickers
Name In Type Description
id Required path string

Community ID.

Responses

200

The stickers, oldest first.

Body: object

Example response (200)
{
  "stickers": [
    {
      "id": "string",
      "community_id": "string",
      "pack_id": "string",
      "name": "string",
      "description": "string",
      "tags": "string",
      "format": "png",
      "animated": false,
      "hash": "string",
      "width": 1,
      "height": 1,
      "uploader_id": "01J9ZQ3V5K8M2N4P6R8T0W2Y4A",
      "created_at": "2026-10-15T09:00:00Z"
    }
  ],
  "slots": 0
}
401

unauthenticated: the bearer token is missing, invalid or expired.

Body: Error

WWW-Authenticate header.

403

missing_permission (Manage Expressions), stickers_disabled (the stickers flag is off for the server), timed_out or moderation_mfa_required.

Body: Error

404

community_not_found: no such community, or the caller is not a member. The two cases are indistinguishable on purpose.

Body: Error

429

rate_limited: too many attempts. Every operation a bot calls is also limited per bot (50 at once, then 50 per second), so any authenticated operation can answer this to a bot. Changes to a community's structure (creating or changing the community, channels, roles, member roles, overwrites, invites, kicks, bans, timeouts, report updates and actions, and bots) are also limited per caller (30 at once, then 1 per second) and per community (60 at once, then 1 per second), and creating communities per caller (10 at once, then 1 every 5 minutes).

Body: Error

Retry-After header.

500

internal: an unexpected server error. Details are only in server logs.

Body: Error