Assist
Edge Assist
Edge Assist adds AI answers to your website: visitors ask questions in a search-and-ask widget, and Assist answers from your own content — with citations, streamed word by word. This page covers the widget embed, content ingestion, and the HTTP API.
Quick Start
Create an Assist site in the control panel, point it at your content (see Ingestion below), and add the widget to your pages:
<script src="https://assist.edge.network/widget.js" data-sitekey="ea_your_sitekey"></script>
By default the widget renders a floating launcher. To render it inline — in a help centre, docs sidebar, or 404 page — give it a mount point:
<!-- Render inline instead of as a floating launcher --> <div data-edge-assist></div>
Content Ingestion
Assist answers only from content you give it. Two ways in, both kept in sync automatically:
- Content index — your site build publishes a JSON
index at a URL on your domain (e.g.
/assist-index.json); Assist polls it hourly and re-ingests when the content hash changes. - Storage bucket — point Assist at an Edge Storage bucket and drop in documents (markdown, plain text, HTML, PDF). Changes are picked up incrementally.
The index format is deliberately small:
{
"hash": "sha256 of the content",
"chunks": [
{
"url": "/pricing",
"title": "Pricing",
"section": "pricing",
"text": "One chunk of page content, ~1,400 characters,\nsplit on sentence boundaries…"
}
]
} Sites support up to 10,000 documents. Larger knowledge bases are handled by Expert Services.
API Reference
Search
Instant results over the ingested content — no AI call, unlimited and free.
GET /api/assist/search?q=how+much+is+storage
{
"results": [
{ "url": "/storage/pricing", "title": "Storage Pricing", "section": "storage" }
]
} Ask
Composes an answer over the ingested content and streams it as Server-Sent Events:
a sources event first
(retrieval is instant), then delta
events with JSON-encoded answer fragments, then done.
POST /api/assist/ask
Content-Type: application/json
{
"question": "How much does storage cost?",
"history": [], // optional: prior turns [{ role, content }]
"page": "/storage/pricing" // optional: page the visitor is on
}
// Response: Server-Sent Events
event: sources
data: [{ "url": "/storage/pricing", "title": "Storage Pricing", … }]
event: delta
data: "Storage is billed at "
event: delta
data: "$0.015 per GB per month…"
event: done
data: {} Each answered question is one metered question. Answers are grounded in the retrieved passages: Assist declines rather than inventing facts your content doesn't contain.
Limits
| Limit | Value |
|---|---|
| Question length | 500 characters |
| Conversation history sent per ask | 6 turns (12 with extended conversations) |
| Search rate limit | 60 / minute / visitor |
| Ask rate limit | 10 / 5 minutes / visitor |
| Documents per site | 10,000 |