Skip to content
Hoody.com

The Icons endpoint serves notification icon images referenced from notification data. Each icon ID is derived from the originating notification (session, ID, timestamp, and extension). This page documents the single endpoint that streams those images back, including the caching headers that let clients reuse a previously fetched icon and the rate-limit boundaries enforced on icon requests.

Serves a notification icon image. Icon IDs are derived from notification data (session, ID, timestamp, extension).

NameInTypeRequiredDescription
iconIdpathstringYesThe unique identifier for the icon (e.g., 6_10_1749024932903.png)
If-None-MatchheaderstringNoETag(s) from an earlier response, or *. A match returns 304. Overrides If-Modified-Since.
If-Modified-SinceheaderstringNoHTTP date; returns 304 when the icon has not changed since then (whole seconds). Ignored when If-None-Match is sent.
Terminal window
curl -X GET "https://67e89abc123def456789abcd-890abcdef12345678901cdef-n-1.node-example-1.containers.hoody.com/api/v1/notifications/icons/6_10_1749024932903.png" \
-H "Authorization: Bearer <token>"

The response body is the icon image. The bytes are returned in one of the supported formats: image/png, image/jpeg, image/webp, image/avif, image/gif, or image/bmp, depending on the file that resolves for the requested icon ID. The body is not JSON.

Response headers:

NameDescriptionExample
Content-TypeMIME type of the imageimage/png
Cache-Controlpublic, max-age=<ICON_CACHE_MAX_AGE>[, immutable]; default public, max-age=31536000, immutable. Absent when ICON_CACHE_MAX_AGE is 0.public, max-age=31536000, immutable
ETagWeak entity tag (when ENABLE_ETAG is on)W/"1a2b-5f3c"
Last-ModifiedFile modification time as an IMF-fixdate in GMT, whole seconds (when ENABLE_LAST_MODIFIED is on)Wed, 04 Jun 2025 08:15:22 GMT