Enju Discord Bot banner

Reaction API Docs

Public documentation and live examples for Enju's managed reaction GIF API.

https://enjubot.xyz Public base URL
No authentication Public reaction endpoints
23 categories Managed reaction library
600/min/IP Public JSON rate limit

Endpoints

GET /api/reactions

Lists managed categories and approved counts.

[
  {
    "name": "hug",
    "importedCount": 12,
    "communityCount": 4,
    "totalCount": 16
  }
]
GET /api/reactions/{reaction}

Returns one random approved GIF.

{
  "reaction": "hug",
  "url": "https://enjubot.xyz/api/reaction-images/<id>/image.gif",
  "source": "community",
  "id": "<reaction-image-id>"
}
GET /api/reactions/{reaction}/images

Returns all approved public GIF metadata for one category.

GET /api/reaction-images/{id}/image.gif

Serves the approved GIF bytes using the extension-preserving route.

Cache behavior

Endpoint Policy
/api/reactions public, max-age=30
/api/reactions/{reaction}/images public, max-age=30
/api/reactions/{reaction} no-store
/api/reaction-images/{id}/image.gif public, max-age=604800, immutable

Live API Explorer

Select a reaction and run an endpoint.

Category availability

GET /api/reactions includes an enabled flag. A disabled category keeps its approved image list, but GET /api/reactions/{reaction} returns 404 reaction_disabled until re-enabled.

Monitoring probes may append ?track=false so health checks do not inflate owner usage analytics.