Set the home-screen / favicon icon (emoji + bg)

Owner-only. Replaces the icon as a unit — both emoji and bg are required; there is no partial / PATCH semantics. Stricter than PUT /app/{id}: invalid emoji or bg is rejected with 400 invalid_icon rather than silently dropped and folded into warnings[] (that warn-and-drop contract is for agent publishes, where a typo must never fail). Last-writer-wins with a near-simultaneous agent publish; the rendered icon SVG / PNG caches revalidate on next read via their content-derived ETag.

put/app/{id}/icon

Request

  • Base URL: https://charm.ing
  • URL: https://charm.ing/app/{id}/icon
  • Auth: HTTP bearer

Request body

emojistring required

A single emoji, rendered centered (e.g. ⚽). Must contain at least one grapheme, or the request is rejected with 400 invalid_icon. A value with more than one grapheme (e.g. ⚽⚾) is accepted, not rejected — only the first grapheme renders and the rest are silently dropped, the same truncation Icon.emoji discloses (Extra glyphs are dropped.); this endpoint is strict about invalid input, not about single-glyph input.

bgstring required

Background color as a hex string (#rgb, #rrggbb, or #rrggbbaa). Named colors ("green"), rgb()/hsl(), and image URLs are rejected.

Response

Icon updated; the response echoes the normalized icon.

Changes

No recorded changes to this operation across all 1 revision of this API.