Author features, validate decision trees, simulate formulas and connect them to Graphify source symbols. All data routes require Authorization: Bearer <tool key>.
OpenAPI 3.1 contract ยท Service health
Use a tool key with read/write/simulate scopes for authoring. Admin manages keys and Graphify refreshes. Publish freezes passing model tests into a content-addressed Unreal authoring manifest. The Unreal Editor bridge downloads verified manifests to Saved/LogicBackend; gameplay adoption requires native integration.
Updates require the current expected_revision. Poll events using after=next_cursor to track changes. Draft prose remains reference data until a developer supplies executable logic.
| Method | Endpoint | Purpose |
|---|---|---|
GET | /health | Service health |
GET | /v1/me | Current tool identity and access scopes |
POST | /mcp | Stateless MCP JSON-RPC endpoint for developer agents |
GET | /v1/tuning/profiles | List game-master tuning drafts |
POST | /v1/tuning/profiles | Create typed parameter definitions (developer write) |
GET | /v1/tuning/profiles/{profile_id} | Read tuning draft |
PUT | /v1/tuning/profiles/{profile_id} | Save tuning values with revision precondition |
GET | /v1/tuning/profiles/{profile_id}/history | Read tuning draft revision history |
POST | /v1/tuning/profiles/{profile_id}/release | Freeze a tuning release (publish) |
GET | /v1/tuning/releases | List immutable tuning releases |
GET | /v1/tuning/releases/{release_id} | Fetch exact build configuration by SHA-256 |
GET | /v1/tuning/channels/{channel} | Resolve current channel to an immutable tuning release |
PUT | /v1/tuning/channels/{channel} | Promote or roll back a channel (publish) |
GET | /v1/capabilities | Supported operations and limits |
GET | /v1/project | Export portable project snapshot without credentials |
POST | /v1/features/batch | Atomically import or update a feature graph |
GET | /v1/features | List feature revisions (optional category filter) |
POST | /v1/features | Create a feature |
GET | /v1/features/{feature_id} | Read current or historical revision |
PUT | /v1/features/{feature_id} | Replace feature with optimistic concurrency |
GET | /v1/features/{feature_id}/revisions | Read immutable revision history |
POST | /v1/features/{feature_id}/simulate | Evaluate a decision graph without side effects |
POST | /v1/features/{feature_id}/verify | Run saved verification cases |
GET | /v1/features/{feature_id}/python | Export Python runner and its runtime dependency |
GET | /v1/imports | Read source draft provenance and counts |
POST | /v1/imports/drafts | Import absent draft nodes; preserve developer edits |
GET | /v1/tools | List tool identities (admin) |
POST | /v1/tools | Create a scoped tool key, returned once (admin) |
POST | /v1/tools/{tool_id}/revoke | Revoke a tool key (admin) |
GET | /v1/events | Poll durable audit events with sequence cursor |
GET | /v1/graph/status | Inspect Graphify source snapshot |
GET | /v1/graph/symbols | Find source symbols for feature bindings |
GET | /v1/graph/features | Export prerequisite and feature-to-code graph |
POST | /v1/graph/query | Run a bounded Graphify context query |
POST | /v1/graph/refresh | Refresh the project AST graph (admin) |
POST | /v1/publications | Freeze verified logic for Unreal authoring |
GET | /v1/publications/{publication_id} | Read immutable artifact by hash or latest |