Get a widget
One widget with its settings, limits, snippets and this month's numbers.
GET/v1/widgets/{widget_id}
Requires assistants:read.
Use it to read the snippets again, or to check status: live answers visitors and paused shows nothing and answers nothing. The widget’s id is the same wdg_… identifier used in its snippets and hosted URL. It is not a secret.
Authorizations
Authorizationbearerin headerrequiredPath parameters
widget_idstringrequiredpattern: ^wdg_[abcdefghjkmnpqrstuvwxyz23456789]{12}$Response
application/jsonRetrieve a widget
dataobjectrequiredShow child attributes
data.idstringrequiredpattern: ^wdg_[abcdefghjkmnpqrstuvwxyz23456789]{12}$data.namestringrequireddata.assistant_idstringrequireddata.assistant_namestringnullrequiredNull when the assistant was deleted: the widget answers nothing until you point it at another.
data.modeenum<string>requiredone of: eco, flash, deepdata.statusenum<string>requiredone of: live, pausedlive answers visitors; paused shows nothing and answers nothing, until set live again.
data.allowed_domainsstring[]requireddata.settingsobjectrequiredShow child attributes
data.settings.themeenum<string>requireddefault: autoone of: light, dark, autolight, dark, or auto to follow the visitor's system.
data.settings.accentstringrequireddefault: #4F46E5pattern: ^#[0-9a-fA-F]{6}$The brand colour of the launcher and the buttons, as #RRGGBB.
data.settings.radiusenum<string>requireddefault: mediumone of: none, small, medium, largeHow round the corners are: none, small, medium or large.
data.settings.bubblesenum<string>requireddefault: cornersone of: corners, roundThe shape of the visitor's message bubbles and the suggestion chips: corners (default) follows radius, round makes them fully round whatever the corners are. Omit it to leave it as it is.
data.settings.positionenum<string>requireddefault: bottom-rightone of: bottom-right, bottom-leftWhich corner of the page the bubble sits in: bottom-right or bottom-left.
data.settings.launcherenum<string>requireddefault: bubbleone of: bubble, pill, barbubble: a round button in a corner. pill: a button with launcher_label. bar: a bar centered at the bottom of the page, showing the placeholder, that opens the chat in the middle of the screen (position does not apply).
data.settings.launcher_labelstringrequireddefault: Ask AIlength: ≤ 40 charsThe text of the pill launcher, up to 40 characters.
data.settings.launcher_iconenum<string>requireddefault: chatone of: chat, message, help, sparkles, bot, search, book, bulb, bolt, heart, star, supportThe launcher's icon: chat (default), message, help, sparkles, bot, search, book, bulb, bolt, heart, star or support.
data.settings.launcher_sizeenum<string>requireddefault: mediumone of: small, medium, largeThe launcher's size, whatever its style: small, medium (default) or large.
data.settings.bar_iconbooleanrequireddefault: trueThe bar launcher: show the icon at its start (default). Off: a plain field.
data.settings.bar_translucentbooleanrequireddefault: falseThe bar launcher: see-through, with the page blurred behind it. Off (default): a solid bar.
data.settings.launcher_imagestring | nullrequireddefault: nullPaid plans, read-only: the name of the image shown in place of the launcher's icon, set with PUT /v1/widgets/{id}/images/launcher or in the app. Null: the icon.
data.settings.faviconstring | nullrequireddefault: nullPaid plans, read-only: the name of the hosted page's favicon, set with PUT /v1/widgets/{id}/images/favicon or in the app. Null: a favicon drawn from the widget's colour and icon.
data.settings.header_iconenum<string>requireddefault: sparklesone of: chat, message, help, sparkles, bot, search, book, bulb, bolt, heart, star, support, noneThe avatar in the chat's header, apart from the launcher's icon: sparkles (default), chat, message, help, bot, search, book, bulb, bolt, heart, star or support; none shows no avatar at all.
data.settings.header_imagestring | nullrequireddefault: nullPaid plans, read-only: the name of the image shown in place of the icon in the chat's header, set with PUT /v1/widgets/{id}/images/header or in the app. Null: the header icon.
data.settings.titlestringrequireddefault: ""length: ≤ 60 charsThe chat's title, up to 60 characters. Empty means the assistant's name.
data.settings.subtitlestringrequireddefault: ""length: ≤ 80 charsA line under the chat's title, up to 80 characters, like Available 24/7. Empty (default): none, and the title sits centered alone. Omit it to leave it as it is.
data.settings.greetingstringrequireddefault: Hi! Ask me anything, I answer from our documentation.length: ≤ 500 charsThe first message the visitor sees, up to 500 characters.
data.settings.placeholderstringrequireddefault: Ask a question…length: ≤ 80 charsThe hint in the question box, up to 80 characters.
data.settings.suggestionsstring[]requireddefault: []items: ≤ 4 itemsUp to 4 example questions (120 characters each) shown before the first question.
data.settings.disclaimerstringrequireddefault: AI answers can be wrong.length: ≤ 200 charsThe small print under the chat, up to 200 characters. Empty hides it.
data.settings.languageenum<string>requireddefault: autoone of: auto, en, fr, de, es, it, ptThe language of the widget's own words (buttons, notices): auto follows the visitor, or en, fr, de, es, it, pt. Answers always follow the visitor's language.
data.settings.sourcesenum<string>requireddefault: numberedone of: numbered, numbered_no_links, inline_links, noneHow answers show their sources: numbered ([1] markers and a source list with links to web pages), numbered_no_links (the same without any address), inline_links (the answer links its own words to the source pages, no list; describe the style in the assistant's context) or none.
data.settings.memorybooleanrequireddefault: trueFollow-up questions see the conversation so far.
data.settings.visitor_historybooleanrequireddefault: trueVisitors find their past chats when they come back on the same browser (a random id kept in the chat frame's own storage). Off: nothing is kept in the browser and every visit starts fresh.
data.settings.feedbackbooleanrequireddefault: trueThumbs up and down under each answer, with an optional word on what was wrong after a thumbs down. Read them in the workspace's logs: GET /v1/logs/conversations?widget_id=…&rating=down lists the conversations where visitors were not satisfied.
data.settings.brandingbooleanrequireddefault: trueShow "Powered by Lookio". Only paid plans may turn it off.
data.settings.bubblebooleanrequireddefault: trueThe chat bubble format: a launcher in a corner of the page that opens the chat. On by default. Off: the loader draws nothing.
data.settings.embedbooleanrequireddefault: falseThe in-page format: the chat inside a container of your page (snippets.embed, or snippets.iframe). Off by default; off, the frame answers 404.
data.settings.hosted_pagebooleanrequireddefault: falseThe hosted page format: a full-page chat at snippets.hosted, to link to. Off by default; off, the page answers 404.
data.limitsobjectrequiredShow child attributes
data.limits.monthly_credits_enabledbooleanrequireddefault: falsedata.limits.per_visitor_hourintegerrequireddefault: 40range: 1–500Questions one visitor may ask per hour, 1 to 500.
data.limits.per_visitor_dayintegerrequireddefault: 150range: 1–2000Questions one visitor may ask per day, 1 to 2,000, and not fewer than the hourly limit.
data.limits.monthly_creditsinteger | nullrequireddefault: nullCredits the widget may spend per calendar month (UTC), 10 to 10,000,000. Null: no ceiling beyond the workspace's balance. When it is reached the widget stops answering until the month turns.
data.snippetsobjectrequiredShow child attributes
data.snippets.bubblestringrequiredA <script> tag: a launcher in a corner of the page opens the chat. Paste it before </body>.
data.snippets.embedstringrequiredA <div> and the script: the chat fills the div, where you put it. Give the div a height.
data.snippets.hostedstringrequiredA link to a full-page chat. Needs no website; can be turned off with settings.hosted_page.
data.snippets.iframestringrequiredA raw <iframe> for builders that refuse scripts (Notion, some CMS).
data.statsobjectrequiredThis calendar month, UTC.
Show child attributes
data.stats.conversationsintegerrequireddata.stats.answersintegerrequireddata.stats.creditsintegerrequireddata.created_viastringnullrequireddata.created_atstringrequireddata.updated_atstringrequiredrequest_idstringrequiredPossible codes: authentication_required, invalid_api_key, api_key_expired, api_key_revoked, invalid_access_key
errorobjectrequiredShow child attributes
error.typestringrequirederror.codestringrequirederror.messagestringrequirederror.paramstringerror.docs_urlstringrequirederror.action_urlstring<uri>request_idstringrequiredPossible codes: insufficient_scope, feature_not_available, admin_required, permission_denied
errorobjectrequiredShow child attributes
error.typestringrequirederror.codestringrequirederror.messagestringrequirederror.paramstringerror.docs_urlstringrequirederror.action_urlstring<uri>request_idstringrequiredPossible codes: resource_not_found
errorobjectrequiredShow child attributes
error.typestringrequirederror.codestringrequirederror.messagestringrequirederror.paramstringerror.docs_urlstringrequirederror.action_urlstring<uri>request_idstringrequiredPossible codes: rate_limited
errorobjectrequiredShow child attributes
error.typestringrequirederror.codestringrequirederror.messagestringrequirederror.paramstringerror.docs_urlstringrequirederror.action_urlstring<uri>request_idstringrequiredPossible codes: internal_error
errorobjectrequiredShow child attributes
error.typestringrequirederror.codestringrequirederror.messagestringrequirederror.paramstringerror.docs_urlstringrequirederror.action_urlstring<uri>request_idstringrequired