The notification server exposes icon assets used to brand notifications in the UI. Each notification references an icon by a stable identifier derived from session, notification ID, timestamp, and extension. Use this endpoint to fetch the raw icon image bytes for rendering, caching, or watermarking notification payloads.
GET /api/v1/notifications/icons/{iconId}
Section titled “GET /api/v1/notifications/icons/{iconId}”Serves a notification icon image. The response body is the raw image bytes (image/jpeg, image/png, or image/svg+xml) accompanied by cache-validation headers (Cache-Control, ETag, Last-Modified). Clients should honor those headers to avoid refetching unchanged icons.
Parameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
iconId | path | string | Yes | The unique identifier for the icon (e.g., 6_10_1749024932903.png) |
Example request
Section titled “Example request”curl -i https://{projectId}-{containerId}-n-1.{server}.containers.hoody.com/api/v1/notifications/icons/6_10_1749024932903.pngimport { HoodyClient } from 'hoody-sdk';
const client = new HoodyClient({ baseURL: 'https://{projectId}-{containerId}-n-1.{server}.containers.hoody.com', token: process.env.HOODY_TOKEN });
await client.notifications.icons.get("6_10_1749024932903.png");Responses
Section titled “Responses”The response body is the raw icon image bytes. The Content-Type header reflects the MIME variant returned by the server.
Sample response:
HTTP/1.1 200 OKContent-Type: image/pngCache-Control: public, max-age=86400ETag: "a1b2c3d4e5f6"Last-Modified: Wed, 03 Jun 2025 12:35:32 GMT
<binary png data>| Header | Type | Description |
|---|---|---|
Cache-Control | string | Caching directives. Example: public, max-age=86400 |
Content-Type | string | MIME type of the image. Example: image/png |
ETag | string | Entity tag for cache validation |
Last-Modified | string | Last modification date |
Returned when the client’s cached copy is still valid, as determined by the ETag or Last-Modified request headers. The response carries no body; clients should continue to use their cached icon.
HTTP/1.1 304 Not ModifiedETag: "a1b2c3d4e5f6"Last-Modified: Wed, 03 Jun 2025 12:35:32 GMTReturned when no icon exists for the supplied iconId.
{ "success": false, "error": "Not Found", "details": "The requested icon does not exist"}Returned when the caller exceeds the allowed request rate for the icon endpoint.
{ "success": false, "error": "Rate Limit Exceeded", "details": "Too many requests, please try again later"}