Skip to main content
Euca exposes one typed HTTP API. Everything an agent does — build, play, experiment — goes through it. The endpoint pages in this section are rendered from a hand-maintained OpenAPI snapshot (openapi.json). It was originally produced from the engine’s request/response types; the generator has since been retired, so the spec is now curated by hand and can drift from the live routes — the canonical, always-current schema is the running server itself (GET /schema, and euca discover / euca explain from the CLI).

Conventions

  • Base URLhttp://localhost:3917 for a local server.
  • Content type — send Content-Type: application/json on every request with a body.
  • Identifiers — entities are addressed by id; pass the generation returned by /spawn alongside the id where an endpoint asks for it.
  • Clients — it is plain JSON over HTTP, so any language works. Examples are shown in cURL, Python (requests), and Rust (reqwest).

Authentication

The local, self-hosted server is unauthenticated by default — no global gate, so token-less calls just work; run it in a trusted environment. The engine also ships opt-in Ed25519 auth: install an AuthStore and POST /auth/login verifies an Ed25519 signature and issues a session token (GET /auth/status validates it), with a per-agent ownership layer on scoped scene routes. It is optional and not required to use the engine locally. Hosted or benchmark access can additionally layer an API key at the hosting tier.

Coverage

This reference covers the agent’s HTTP surface — ~114 endpoints — across world, simulation, rules, forks, snapshots, scenes & scenarios, gameplay (units, items, abilities & effects), assertions & manifest, camera & render, UI, animation, audio, particles, terrain, navigation, input, scripting, and AI asset generation. The OpenAPI snapshot below is curated by hand; treat GET /schema on the running server as the authoritative, always-current schema. Engine version: 1.1.0.