Lookio Docs
Lookio websiteOpen Lookio
WidgetsSet a widget's launcher image or favicon
widgets

Set a widget's launcher image or favicon

Send the image's bytes as the request body, not multipart; Content-Length is required. kind is launcher (shown in place of the launcher's icon), header (shown in place of the icon in the chat's header) or favicon (the hosted page's). PNG, JPEG, WebP or GIF, and ICO for the favicon, up to 256 KB; the format is read from the bytes, whatever the Content-Type, and SVG is refused. Paid plans only (feature_not_available on the free plan). Replaces the previous image and returns the widget, whose settings.launcher_image or settings.favicon now names it. Costs no credits.

PUT/v1/widgets/{widget_id}/images/{kind}

Requires assistants:write.

kind is launcher (shown in place of the launcher’s icon, round) or favicon (the hosted page’s tab icon). Send the image’s bytes as the request body, with a Content-Length header. The body is the image itself, not multipart.

Terminal
curl -X PUT "https://api.lookio.app/v1/widgets/WIDGET_ID/images/launcher" \
  -H "Authorization: Bearer $LOOKIO_API_KEY" \
  --data-binary @logo.png

Use --data-binary, not -d: -d alters the bytes. PNG, JPEG, WebP or GIF, and ICO for the favicon, up to 256 KB. The format is read from the bytes, whatever the Content-Type; SVG is refused. A larger image is refused with request_too_large before it is read, and an unsupported one with invalid_parameter. On the free plan the call is refused with feature_not_available.

The previous image is replaced and its file deleted. The widget that comes back names the new image in settings.launcher_image or settings.favicon. Remove it again with Remove a widget’s image.

Authorizations

Authorizationbearerin headerrequired

Path parameters

widget_idstringrequiredpattern: ^wdg_[abcdefghjkmnpqrstuvwxyz23456789]{12}$
kindenum<string>requiredone of: launcher, header, favicon

Body

application/octet-streamrequired

The image's bytes, unencoded. Content-Length is required.

The raw bytes of the file.

Response

application/json

Set a widget's launcher image, header image or favicon

dataobjectrequired
request_idstringrequired

Use these docs with your AI tools

An AI agent can read this documentation directly. You do not need an account or an API key. Everything here is public and read-only.

Query these docs via MCP

Recommended

Add this server to Claude, Claude Code, Cursor, Mistral, or any tool that supports MCP. Your agent can then search Lookio Docs documentation and read it in full, instead of answering from memory.

https://lookio.app/docs/mcp
  • searchFind the passages that answer a question.
  • fetchRead one page in full, as Markdown.
  • list_pagesSee every page in this documentation.

Query these docs over HTTP

The same tools also work as plain web requests. Use this for scripts, or for any tool that does not support MCP. There is one endpoint per tool. Arguments go in the query string, and the answer comes back as JSON.

https://lookio.app/docs/api/docs/search?query=custom+domain

Read the OpenAPI description. It is built from the same definitions as the tools, so it always matches what the endpoints do.

Read these docs as Markdown

Add .md to any page URL to get its Markdown source. You can also send the headerAccept: text/markdown to the page URL itself.

To read the whole documentation in one file, open llms-full.txt. For a short index of every page, open llms.txt.