ORYKSAORYKSADevelopers
Get API keys

Knowledge (Brain)

Teach the AI employee what the business sells, how it works and what customers usually ask.

Send pages

PUT/v1/knowledge/pages

Replaces the site content the agent answers from. Send the visible text of each page (not HTML). Up to 800 pages, 60 000 characters in total. If you do not send business_summary, ORYKSA writes one from the pages. The chat greeting and suggestions are generated automatically, unless the owner customised them.

curl -X PUT https://api.oryksa.com/v1/knowledge/pages \
  -H "Authorization: Bearer oryk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "site_url": "https://quintadovale.pt",
    "business_summary": "Family winery in the Douro. Tastings 15 EUR, Mon-Fri 9-16h.",
    "pages": [
      {"title": "Home", "url": "https://quintadovale.pt/", "content": "Visible text of the page..."},
      {"title": "Visits", "url": "https://quintadovale.pt/visits", "content": "..."}
    ]
  }'
await fetch("https://api.oryksa.com/v1/knowledge/pages", {
  method: "PUT",
  headers: { Authorization: "Bearer " + key, "Content-Type": "application/json" },
  body: JSON.stringify({
    site_url: "https://quintadovale.pt",
    pages: [
      { title: "Home", url: "https://quintadovale.pt/", content: homeText },
      { title: "Visits", url: "https://quintadovale.pt/visits", content: visitsText },
    ],
  }),
});
requests.put(f"https://api.oryksa.com/v1/knowledge/pages", headers=H, json={
    "site_url": "https://quintadovale.pt",
    "pages": [
        {"title": "Home", "url": "https://quintadovale.pt/", "content": home_text},
        {"title": "Visits", "url": "https://quintadovale.pt/visits", "content": visits_text},
    ],
})

Read a live site

POST/v1/knowledge/crawl

ORYKSA reads the home page and internal pages (up to 30), writes the business fact sheet and stores it. Sites that only render in the browser (single page apps) may return little text: then send the pages yourself.

curl https://api.oryksa.com/v1/knowledge/crawl \
  -H "Authorization: Bearer oryk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://quintadovale.pt", "max_pages": 20}'
await fetch("https://api.oryksa.com/v1/knowledge/crawl", {
  method: "POST",
  headers: { Authorization: "Bearer " + key, "Content-Type": "application/json" },
  body: JSON.stringify({ url: "https://quintadovale.pt", max_pages: 20 }),
});

Questions and answers

POST/v1/knowledge/faq

Adds new FAQs or updates the answer of an existing question (matched by the exact question). Up to 100 items per call.

curl https://api.oryksa.com/v1/knowledge/faq \
  -H "Authorization: Bearer oryk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      {"question": "Do you ship abroad?", "answer": "Yes, to the whole EU. Delivery in 3 to 5 working days."},
      {"question": "Is parking available?", "answer": "Yes, free parking next to the winery."}
    ]
  }'
requests.post(f"https://api.oryksa.com/v1/knowledge/faq", headers=H, json={"items": [
    {"question": "Do you ship abroad?", "answer": "Yes, to the whole EU. Delivery in 3 to 5 working days."},
]})

Read the summary

GET/v1/knowledge

Returns what the agent knows: number of pages, characters, FAQs and services.