{
  "api_version": "1.0",
  "site": "https://www.seniordeli.com",
  "generated_at": "dev",
  "discovery": {
    "agent_manifest": "https://www.seniordeli.com/.well-known/agent.json",
    "openapi_spec": "https://www.seniordeli.com/openapi.json",
    "actions_manifest": "https://www.seniordeli.com/.well-known/actions.json",
    "plugin_manifest": "https://www.seniordeli.com/.well-known/ai-plugin.json",
    "llms_txt": "https://www.seniordeli.com/llms.txt",
    "llms_full_txt": "https://www.seniordeli.com/llms-full.txt"
  },
  "endpoints": [
    {
      "url": "https://www.seniordeli.com/api/v1/index.json",
      "method": "GET",
      "description": "This discovery index",
      "response_shape": "{ api_version, endpoints[] }",
      "cache": "s-maxage=3600"
    },
    {
      "url": "https://www.seniordeli.com/api/v1/products.json",
      "method": "GET",
      "description": "All products — IDDSI levels, names (en/zh-HK/zh-CN), ingredients, packaging, images",
      "query_params": [
        "locale=en|zh-HK|zh-CN",
        "iddsi=0..7"
      ],
      "response_shape": "{ locale, count, products[] }",
      "cache": "s-maxage=3600"
    },
    {
      "url": "https://www.seniordeli.com/api/v1/products/[slug].json",
      "method": "GET",
      "description": "Single product — all locales, full translations, related slugs",
      "slugs": [
        "clear-thickener",
        "food-gellant",
        "cold-gellant",
        "food-softener",
        "mousse-soft-meal",
        "soft-meal-mold"
      ],
      "response_shape": "{ slug, iddsiLevels, translations: { en, zh-HK, zh-CN } }",
      "cache": "s-maxage=3600"
    },
    {
      "url": "https://www.seniordeli.com/api/v1/iddsi.json",
      "method": "GET",
      "description": "IDDSI 0–7 framework reference + SeniorDeli product mapping per level",
      "query_params": [
        "level=0..7"
      ],
      "response_shape": "{ levels[]: { level, name, who, axis, description, color, seniorDeliProducts[] } }",
      "cache": "s-maxage=3600"
    },
    {
      "url": "https://www.seniordeli.com/api/v1/blog.json",
      "method": "GET",
      "description": "Blog post index — slug, title, excerpt, date, author, keywords",
      "query_params": [
        "locale=en|zh-HK|zh-CN"
      ],
      "response_shape": "{ locale, count, posts[] }",
      "cache": "s-maxage=3600"
    },
    {
      "url": "https://www.seniordeli.com/api/v1/blog/[slug].json",
      "method": "GET",
      "description": "Single blog post — full content in all locales",
      "response_shape": "{ slug, date, translations: { en, zh-HK, zh-CN } { title, excerpt, content, keywords } }",
      "cache": "s-maxage=3600"
    },
    {
      "url": "https://www.seniordeli.com/api/v1/news.json",
      "method": "GET",
      "description": "Press articles, media outlets, government engagements, and events",
      "response_shape": "{ pressArticles, mediaOutlets, governmentEngagement, events }",
      "cache": "s-maxage=3600"
    },
    {
      "url": "https://www.seniordeli.com/api/v1/awards.json",
      "method": "GET",
      "description": "Full award list — year, competition, award type",
      "response_shape": "{ count, awards[]: { year, competition, award } }",
      "cache": "s-maxage=3600"
    },
    {
      "url": "https://www.seniordeli.com/api/v1/tutorials.json",
      "method": "GET",
      "description": "Video tutorials — title, IDDSI level, YouTube videoId and embedUrl",
      "response_shape": "{ count, tutorials[]: { id, title, iddsi, videoId, embedUrl, thumbnailUrl } }",
      "cache": "s-maxage=3600"
    },
    {
      "url": "https://www.seniordeli.com/api/v1/recipes.json",
      "method": "GET",
      "description": "IDDSI-compliant recipes — ingredients, IDDSI level, description",
      "response_shape": "{ count, recipes[]: { id, title, iddsi, ingredients[], description } }",
      "cache": "s-maxage=3600"
    },
    {
      "url": "https://www.seniordeli.com/api/v1/standards.json",
      "method": "GET",
      "description": "Care food standards — IDDSI, HKCA, T/SATA 094/084/085, ISO 22000, SGS",
      "response_shape": "{ overview, standards[]: { id, name, scope, description, seniorDeliRole } }",
      "cache": "s-maxage=3600"
    },
    {
      "url": "https://www.seniordeli.com/api/v1/evidence.json",
      "method": "GET",
      "description": "Evidence Vault — single source of truth for Carewells Limited verifiable proof points: awards, standards authorship, HBS/Ivey case study, TechUP grant, patents, customer base, press coverage, founder credentials, social enterprise status, operating entity",
      "response_shape": "{ awards, standards, caseStudy, techupGrant, patents, customerBase, press, founderCredentials, socialEnterprise, operatingEntity, sameAs[] }",
      "cache": "s-maxage=3600"
    },
    {
      "url": "https://www.seniordeli.com/api/v1/evidence.md",
      "method": "GET",
      "description": "Evidence Vault as clean markdown for AI agent ingestion",
      "response_shape": "text/markdown",
      "cache": "s-maxage=3600"
    },
    {
      "url": "https://www.seniordeli.com/api/v1/search.json?q=...",
      "method": "GET",
      "description": "Cross-content keyword search — products, blog, tutorials, recipes, news",
      "query_params": [
        "q=string (min 2 chars, required)"
      ],
      "response_shape": "{ q, count, results[]: { type, slug, title, excerpt, url, score } }",
      "cache": "s-maxage=3600"
    },
    {
      "url": "https://www.seniordeli.com/api/v1/page.md?path=/en/about",
      "method": "GET",
      "description": "Any public page as clean markdown. Pass locale-prefixed path.",
      "query_params": [
        "path=/[locale]/[...slug] (required)"
      ],
      "response_shape": "text/markdown",
      "cache": "s-maxage=3600"
    },
    {
      "url": "https://www.seniordeli.com/api/v1/eat10",
      "method": "POST",
      "description": "EAT-10 swallowing assessment scorer — POST {answers:[0-4]×10, locale?} → {score, band, interpretation}",
      "body_shape": "{ answers: number[10], locale?: 'en'|'zh-HK'|'zh-CN' }",
      "response_shape": "{ score, band, threshold, interpretation, recommendations[], questions[] }",
      "side_effects": "none",
      "idempotent": true
    },
    {
      "url": "https://www.seniordeli.com/api/contact",
      "method": "POST",
      "description": "Submit contact / quote request — sends email to SeniorDeli team. Requires user consent.",
      "body_shape": "{ name, phone, organization?, product?, inquiryType?, message?, locale? }",
      "rate_limit": "5/IP/5min",
      "side_effects": "sends email",
      "idempotent": false
    }
  ]
}