PlushFactory Logic Backend

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.

MethodEndpointPurpose
GET/healthService health
GET/v1/meCurrent tool identity and access scopes
POST/mcpStateless MCP JSON-RPC endpoint for developer agents
GET/v1/tuning/profilesList game-master tuning drafts
POST/v1/tuning/profilesCreate 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}/historyRead tuning draft revision history
POST/v1/tuning/profiles/{profile_id}/releaseFreeze a tuning release (publish)
GET/v1/tuning/releasesList 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/capabilitiesSupported operations and limits
GET/v1/projectExport portable project snapshot without credentials
POST/v1/features/batchAtomically import or update a feature graph
GET/v1/featuresList feature revisions (optional category filter)
POST/v1/featuresCreate 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}/revisionsRead immutable revision history
POST/v1/features/{feature_id}/simulateEvaluate a decision graph without side effects
POST/v1/features/{feature_id}/verifyRun saved verification cases
GET/v1/features/{feature_id}/pythonExport Python runner and its runtime dependency
GET/v1/importsRead source draft provenance and counts
POST/v1/imports/draftsImport absent draft nodes; preserve developer edits
GET/v1/toolsList tool identities (admin)
POST/v1/toolsCreate a scoped tool key, returned once (admin)
POST/v1/tools/{tool_id}/revokeRevoke a tool key (admin)
GET/v1/eventsPoll durable audit events with sequence cursor
GET/v1/graph/statusInspect Graphify source snapshot
GET/v1/graph/symbolsFind source symbols for feature bindings
GET/v1/graph/featuresExport prerequisite and feature-to-code graph
POST/v1/graph/queryRun a bounded Graphify context query
POST/v1/graph/refreshRefresh the project AST graph (admin)
POST/v1/publicationsFreeze verified logic for Unreal authoring
GET/v1/publications/{publication_id}Read immutable artifact by hash or latest