Kori LogoKori

Documentation

API references and launch guides for shippingKori faster

Everything your team needs to configure the widget, send messages, hydrate public brand settings, and keep knowledge up to date from backend systems.

Quickstart

Launch flow from zero to a live assistant

01

Create your brand workspace

Set up a brand, choose a vertical, and generate the API key your site or widget will use.

02

Train Kori on your content

Upload PDFs, crawl URLs, or connect Shopify so the assistant answers from real brand context.

03

Embed the widget

Drop the script on your site and let the widget resolve your public embed configuration automatically.

04

Track conversations and improve

Use your dashboard, prompts, and source updates to refine how the assistant qualifies visitors.

Embed guide

Add the website widget with one script tag

The widget resolves its public config from your API key, builds the hosted embed URL, and opens a sandboxed iframe. `brandSlug` is optional when your key can already resolve the brand.

Hosted widget snippet

<script>
  window.KoriConfig = {
    apiKey: "your_brand_api_key",
    brandSlug: "your-brand-slug",
    position: "bottom-right",
    primaryColor: "#01261f",
    theme: "light"
  };
</script>
<script src="https://kori.cx/widget.js" async></script>

API reference

Core endpoints for embedded experiences

GET/embed/config?key=YOUR_API_KEY

Public embed config

Resolves the public brand configuration used by the website widget.

POST/chat

Streaming chat

Sends visitor messages to Kori and receives a streaming SSE response authenticated by `X-Brand-API-Key`.

POST/chat/vision

Vision chat

Accepts an uploaded image plus optional text so Kori can respond with visual context.

POST/webhooks/shopify

Shopify webhooks

Keeps product knowledge fresh by re-ingesting changed Shopify products.

Resolve public config

fetch("https://api.kori.cx/embed/config?key=YOUR_API_KEY")
  .then((res) => res.json())
  .then((config) => {
    console.log(config.brand_name);
  });

Stream a chat response

fetch("https://api.kori.cx/chat", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "X-Brand-API-Key": "YOUR_API_KEY"
  },
  body: JSON.stringify({ message: "How can you help my team?" })
});