00DOCUMENTATION

The runtime, documented.

WorldMind exposes three endpoints, one SDK per supported engine, and a mod bridge for modifiable games. Your engine speaks state to the runtime. The runtime speaks structured actions back. Nothing else.

VERSION
v0.1.0 · preview
BASE URL
https://api.worldmind.dev
AUTH
Bearer · per-project key
§ 01

Quickstart

Five steps, end to end. The curl examples assume you have an API key and a project. SDK snippets follow the same sequence.

  1. 01
    Create a project
    Projects scope your agents, capabilities, and traces. Create one per game or per environment.
    curl -X POST https://api.worldmind.dev/v1/projects \
      -H "Authorization: Bearer $WM_KEY" \
      -d '{ "name": "ironwatch-mmo" }'
  2. 02
    Declare capabilities
    List the actions the engine allows. The validator rejects anything not declared here.
    curl -X POST https://api.worldmind.dev/v1/capabilities \
      -H "Authorization: Bearer $WM_KEY" \
      -d '{ "action": "speak", "args_schema": { "text": "string", "tone": "string" } }'
  3. 03
    Register an agent
    Personas, memory profile, capability allow-list, doctrine.
    curl -X POST https://api.worldmind.dev/v1/agents \
      -H "Authorization: Bearer $WM_KEY" \
      -d '{
        "agent_id": "blacksmith_01",
        "archetype": "quest_giver",
        "persona": "gruff but warm village blacksmith",
        "capabilities": ["speak", "give_quest", "complete_quest"],
        "memory_profile": "npc_social_basic"
      }'
  4. 04
    Push game events
    Observations flow into the agent's context. Send events as they happen.
    curl -X POST https://api.worldmind.dev/v1/events \
      -H "Authorization: Bearer $WM_KEY" \
      -d '{
        "agent_id": "blacksmith_01",
        "event_type": "player_nearby",
        "payload": { "player_id": "adam", "quest_state": "ready_to_turn_in", "distance": 3.4 }
      }'
  5. 05
    Request a decision
    Ask for a structured action. The response is schema-locked and always carries a fallback.
    curl -X POST https://api.worldmind.dev/v1/decisions \
      -H "Authorization: Bearer $WM_KEY" \
      -d '{
        "agent_id": "blacksmith_01",
        "mode": "social",
        "constraints": { "max_latency_ms": 1500, "max_tokens": 1200 }
      }'
§ 02

Integration patterns

SDK

Embed in engine

For studios on Unreal, Unity, or a custom engine. Import the runtime, wire sensors and capabilities, call into the SDK from your gameplay code.

PATTERN AIN-PROCESS
BRIDGE

Mod bridge

For games like BeamNG, RimWorld, or Skyrim. A local bridge process receives game events over a socket and returns decisions. No engine source needed.

PATTERN BLOCAL BRIDGE
API

Hosted cognition

For server-authoritative MMOs. Your game servers push state deltas to the hosted API. The API returns structured actions. Horizontally scales with your agent fleet.

PATTERN CHOSTED
COPILOT

Player-side assistant

For player copilots, game masters, and raid directors. The runtime runs alongside the player and uses screen-level perception plus function calls into your mod API.

PATTERN DPLAYER-SIDE
§ 03

Core concept · Agent

An agent is a runtime-controlled entity with cognition. Agents own persona, doctrine, permissions, memory, and an update cadence. A single agent can represent a quest giver, a patrol unit, a colonist, or a director.

{
  "agent_id": "blacksmith_01",
  "archetype": "quest_giver",
  "persona": "gruff but warm village blacksmith",
  "capabilities": ["speak", "give_quest", "complete_quest"],
  "memory_profile": "npc_social_basic",
  "doctrine": ["lore.ironwatch", "role.merchant"],
  "update_schedule": "on_event",
  "fallback_policy": "canned_line"
}
AGENT · REGISTRATION PAYLOADTYPED

Core concept · Capability

A capability is an action family your engine exposes. Actions are declared with an argument schema. The validator rejects any action the agent is not permitted to emit.

[
  { "action": "speak",             "args": { "text": "string", "tone": "string" } },
  { "action": "move_to",           "args": { "x": "f32", "y": "f32", "z": "f32" } },
  { "action": "cast_skill",        "args": { "skill_id": "string", "target_id": "string" } },
  { "action": "request_backup",    "args": { "location": "string" } },
  { "action": "set_speed",         "args": { "value": "f32" } }
]
CAPABILITY · REGISTRYENGINE-DECLARED

Core concept · Observation

Observations are the normalized inputs your game sends into the runtime. They can include entity state, combat events, chat lines, UI snapshots, minimap crops, and screenshots.

{
  "agent_id": "blacksmith_01",
  "event_type": "player_nearby",
  "timestamp": 1712594433.21,
  "payload": {
    "player_id": "adam",
    "quest_state": "ready_to_turn_in",
    "distance": 3.4,
    "reputation": 42,
    "faction_matches": ["ironwatch"]
  }
}
OBSERVATION · PLAYER_NEARBYPUSH EVENT

Core concept · Intent & plan

An intent is the high-level decision. A plan is an ordered series of action proposals with rationale and a fallback. The engine accepts, partially accepts, rejects, or requests a repair.

{
  "intent": "greet_and_prompt_turnin",
  "confidence": 0.91,
  "goal": "move_player_toward_quest_completion",
  "next_actions": [
    {
      "action": "speak",
      "args": { "text": "Hey Adam — did you manage to get those iron bars?" },
      "why": "player is ready_to_turn_in; warm opener fits persona"
    }
  ],
  "memory_writes": [],
  "fallback_if_unavailable": "canned_greeting"
}
DECISION · RESPONSESCHEMA-LOCKED

Core concept · Memory

Memory is structured, not a chat log. Five layers (episodic, semantic, relational, procedural, scratchpad) with salience, decay, and scope. See the memory section on the home page for the layer breakdown.

§ 04

API · POST /v1/decisions

The primary endpoint. Given an agent and a mode, the runtime builds context, retrieves memory, plans, validates, and returns a structured decision.

{
  "agent_id": "patrol_cruiser_17",
  "mode": "tactical",
  "observations": [
    { "event_type": "pursuit_ongoing", "target": "suspect_vehicle_9" }
  ],
  "constraints": {
    "max_latency_ms": 1500,
    "max_tokens": 1800,
    "allowed_models": ["mid", "strong"]
  }
}
REQUESTAPPLICATION/JSON
{
  "intent": "intercept",
  "confidence": 0.82,
  "goal": "stop_suspect_without_collision",
  "next_actions": [
    { "action": "navigate_to_road_segment", "args": { "segment_id": "A12" } },
    { "action": "request_backup",           "args": { "location": "B7" } }
  ],
  "memory_writes": [
    { "type": "episodic", "text": "third escape attempt this week" }
  ],
  "fallback_if_unavailable": "continue_safe_pursuit",
  "trace_id": "trc_01HWM3ZNK..."
}
RESPONSEAPPLICATION/JSON

SDK clients

First-party SDKs are available for C# (Unity), C++ (Unreal), TypeScript (hosted), and Python (tooling). All speak the same wire format and share a common schema for capabilities.

Mod bridges

For games without engine access, a local bridge process runs alongside the game. Official bridges ship for BeamNG, RimWorld, and Skyrim. The protocol is documented so additional bridges are straightforward.

WORLDMIND DOCS · V0.1 · LIVING DOCUMENT