Public Interface

API Reference & Integration

Connect your AI agents, bots, tools, and applications directly to E-Teyvat's structured Genshin Impact knowledge base and graph database.

REST / OpenAPI 3.1 Protocol

Machine-Readable Genshin Impact Telemetry & Facts

All endpoints return standard JSON and support CDN edge caching. Designed for high-throughput AI retrieval, Discord bots, and interactive web tools.

Section

Core & Health

GET/api/health

Health & System Status

Test Endpoint

Returns health status, active dataset revision, entity/relation counts, and current game version telemetry.

Example Request
curl -X GET https://e-teyvat.vxnus.xyz/api/health
Example Response (JSON)
{
  "status": "ready",
  "connected": true,
  "revision": "81c86d97c771",
  "shortRevision": "81c86d9",
  "gameVersion": "v7.0.1",
  "phaseLabel": "Version 7.0 P1",
  "lastSyncedAt": "2026-07-26T03:17:00.000Z",
  "entityCount": 4200,
  "relationCount": 8900,
  "unresolvedRelationCount": 0
}
NOTE:Responses are cached with Cache-Control: public, max-age=60, s-maxage=300.
POST/api/e/verify

E Knowledge Provider Verification

Test Endpoint

Handshake verification endpoint for E knowledge provider registration and publisher authorization.

Request Headers

HeaderRequirementDescription
AuthorizationOptionalOptional Bearer token containing publisher verification key.
Example Request
curl -X POST https://e-teyvat.vxnus.xyz/api/e/verify -H "Authorization: Bearer <KEY>"
Example Response (JSON)
{
  "valid": true,
  "provider": "@vxnus/e-teyvat",
  "publisher": "vxnus"
}
NOTE:Part of the @vxnus/e provider distribution protocol.
Section

Entities & Relations

GET/api/v1/entities

List & Search Entities

Test Endpoint

Search canonical entities across all categories (characters, weapons, artifacts, enemies, materials, domains) with pagination and full-text keyword matching.

Parameters

NameTypeRequirementDescription
qstringOptionalCase-insensitive entity name or keyword substring.
kindstringOptionalExact category filter (e.g. characters, weapons, artifacts, enemies, materials, domains).
limitnumberOptionalMaximum records to return (1 to 50, default 24).
pagenumberOptionalPagination page number (default 1).
Example Request
curl -X GET "https://e-teyvat.vxnus.xyz/api/v1/entities?kind=characters&q=nahida&limit=10"
Example Response (JSON)
{
  "items": [
    {
      "id": "characters/nahida",
      "kind": "characters",
      "slug": "nahida",
      "name": "Nahida",
      "image": "https://cdn.e-teyvat.vxnus.xyz/characters/nahida.png",
      "description": "A caged bird secluded within the Sanctuary of Surasthana..."
    }
  ],
  "total": 1,
  "page": 1,
  "limit": 10,
  "preview": false
}
GET/api/v1/entities/{kind}/{slug}

Entity Detail & Graph Relations

Test Endpoint

Retrieve a single canonical entity along with its typed relations (requirements, drops, domain sources, builds, elements).

Parameters

NameTypeRequirementDescription
kindstringRequiredEntity kind folder (e.g. characters, weapons, artifacts).
slugstringRequiredEntity identifier slug (e.g. furina, splendor-of-tranquil-waters).
Example Request
curl -X GET https://e-teyvat.vxnus.xyz/api/v1/entities/weapons/splendor-of-tranquil-waters
Example Response (JSON)
{
  "entity": {
    "id": "weapons/splendor-of-tranquil-waters",
    "kind": "weapons",
    "slug": "splendor-of-tranquil-waters",
    "name": "Splendor of Tranquil Waters",
    "rarity": 5,
    "weaponType": "Sword",
    "description": "A scepter with the color of clean water..."
  },
  "relations": [
    {
      "relationType": "requires",
      "targetKind": "materials",
      "targetSlug": "dross-of-pure-sacred-dewdrop",
      "targetName": "Dross of Pure Sacred Dewdrop",
      "metadata": {
        "count": 5
      }
    }
  ],
  "preview": false
}
Section

Farming & Domains

GET/api/v1/farming

Farming & Material Retrieval

Test Endpoint

Retrieves complete ascension farming pathways, material costs, domain schedules, and enemy drop locations for any character or weapon.

Parameters

NameTypeRequirementDescription
targetstringRequiredTarget entity name, slug, or alias (e.g. Furina, Splendor of Tranquil Waters).
kindstringOptionalOptional entity kind disambiguation (characters or weapons).
Example Request
curl -X GET "https://e-teyvat.vxnus.xyz/api/v1/farming?target=Furina"
Example Response (JSON)
{
  "target": {
    "name": "Furina",
    "kind": "characters",
    "slug": "furina"
  },
  "materials": [
    {
      "name": "Varunada Lazurite Gemstone",
      "kind": "materials",
      "slug": "varunada-lazurite-gemstone",
      "sources": [
        {
          "sourceType": "boss_drop",
          "name": "Hydro Tulpa",
          "days": [
            "Always Available"
          ]
        }
      ]
    },
    {
      "name": "Teachings of Justice",
      "kind": "materials",
      "slug": "teachings-of-justice",
      "sources": [
        {
          "sourceType": "domain_reward",
          "name": "Pale Forgotten Glory",
          "days": [
            "Tuesday",
            "Friday",
            "Sunday"
          ]
        }
      ]
    }
  ]
}
Section

AI & Knowledge Retrieval

GET/api/v1/lore/books

List In-Game Book Chronicles

Test Endpoint

List and browse all in-game book chronicles with total volume counts and preview snippets.

Parameters

NameTypeRequirementDescription
qstringOptionalFilter by book title substring.
limitnumberOptionalRecords limit (default 24).
pagenumberOptionalPage number (default 1).
Example Request
curl -X GET "https://e-teyvat.vxnus.xyz/api/v1/lore/books?q=Gunnhildr"
Example Response (JSON)
{
  "items": [
    {
      "id": "genshin:book:2",
      "slug": "biography-of-gunnhildr",
      "name": "Biography of Gunnhildr",
      "volumeCount": 1,
      "sampleSnippet": "A brief history of the ancient Gunnhildr clan..."
    }
  ],
  "total": 1,
  "page": 1,
  "limit": 24
}
Section

MCP Server

POST/api/mcp

Public MCP Server

Test Endpoint

Model Context Protocol (MCP) server endpoint. Exposes all 9 Teyvat Knowledge Base tools to any MCP-compatible AI agent — Claude Desktop, Cursor, Antigravity, LangChain, and others — without custom fetch logic. Implements the 2026-07-28 MCP specification (Streamable HTTP) with automatic fallback for 2025-era clients.

Request Headers

HeaderRequirementDescription
Content-TypeRequiredMust be application/json for POST requests.
Example Request
# Add to mcp_config.json (Streamable HTTP clients)
{
  "mcpServers": {
    "teyvat": {
      "url": "https://e-teyvat.vxnus.xyz/api/mcp"
    }
  }
}

# For stdio-only clients (via mcp-remote bridge)
{
  "mcpServers": {
    "teyvat": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://e-teyvat.vxnus.xyz/api/mcp"]
    }
  }
}
Example Response (JSON)
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tools": [
      {
        "name": "find_entity",
        "description": "Search canonical entities by name, kind, or alias."
      },
      {
        "name": "get_entity",
        "description": "Retrieve a single entity with outgoing graph relations."
      },
      {
        "name": "get_farming_sources",
        "description": "Farming pathways, material costs & domain schedules."
      },
      {
        "name": "search_lore",
        "description": "Full-text search across lore documents."
      },
      {
        "name": "get_lore_book",
        "description": "Retrieve complete anthology text for a book."
      },
      {
        "name": "search_knowledge",
        "description": "Full-text rank search over build guides & dialogue."
      },
      {
        "name": "get_banner_rerun_pressure",
        "description": "Banner rerun pressure rankings."
      },
      {
        "name": "get_character_banner_history",
        "description": "Historical banner appearances for a character."
      },
      {
        "name": "get_character_rerun_analysis",
        "description": "Statistical rerun pressure analysis."
      }
    ]
  }
}
NOTE:Rate limit: 60 requests per IP per 60 s. Responses include X-RateLimit-Limit and X-RateLimit-Window headers. Exceeding the limit returns HTTP 429 with a Retry-After: 60 header.

MCP Server — One-Line AI Agent Integration

Add E-Teyvat to any MCP-compatible AI agent (Claude Desktop, Cursor, Antigravity, LangChain, and others) by pointing it at https://e-teyvat.vxnus.xyz/api/mcp. All 9 tools are auto-discovered — no custom fetch code required.

Streamable HTTP (recommended)
{
  "mcpServers": {
    "teyvat": {
      "url": "https://e-teyvat.vxnus.xyz/api/mcp"
    }
  }
}
stdio proxy (for stdio-only clients)
{
  "mcpServers": {
    "teyvat": {
      "command": "npx",
      "args": ["-y", "mcp-remote",
        "https://e-teyvat.vxnus.xyz/api/mcp"]
    }
  }
}
find_entitySearch entities by name, kind, or alias
get_entitySingle entity with full graph relations
get_farming_sourcesMaterial costs & domain schedules
search_lore1,239 books, 299 artifact & weapon lore docs
get_lore_bookFull anthology text for an in-game book
search_knowledgeBuild guides & character dialogue
get_banner_rerun_pressureRerun pressure rankings (all chars)
get_character_banner_historyHistorical banner appearances
get_character_rerun_analysisStatistical rerun pressure analysis
RATE LIMIT:60 requests / IP / 60 s. Responses carry X-RateLimit-Limit and X-RateLimit-Window headers. Exceeding the limit returns HTTP 429 with Retry-After: 60.

AI Agent & Large Language Model Integration (RAG Architecture)

Ground Truth vs. Reasoning: E-Teyvat serves as the deterministic Retrieval Layer (Ground Truth), providing verbatim in-game chronicles, books, relic stories, and graph relations. External AI agents (Claude, Gemini, GPT, LangChain, etc.) invoke these endpoints as tool calls to retrieve raw canonical evidence, allowing the external AI model to perform the semantic reasoning, timeline synthesis, and answer generation with exact source citations.

find_entity(query, kind)Resolves names & pulls canonical stats from /api/v1/entities.
get_farming_sources(target)Extracts exact domain schedules & boss drops via /api/v1/farming.
search_lore(query, category)Retrieves 1,239 book volumes, artifact lore & legends via /api/v1/lore/search.
search_knowledge(query)Full-text rank search over chunked documents via /api/v1/knowledge/search.