Skip to main content
EngageFabric is built as a multi-tenant SaaS platform, allowing you to manage multiple applications and projects from a single account.

Architecture Overview

Hierarchy

Tenants

A Tenant represents your organization or company account. Each tenant can have:
  • Multiple team members with different roles
  • Multiple projects for different applications
  • Shared billing and subscription management

Projects

A Project represents a single application or game. Each project has:
  • Isolated player data
  • Independent configuration (rules, quests, adventures)
  • Separate API keys
  • Own leaderboards and lobbies
Players, quests, and all gamification data are completely isolated between projects. This allows you to run multiple games or applications from a single tenant account.

Data Isolation

EngageFabric ensures complete data isolation between projects:
Data TypeIsolation Level
PlayersProject-level
EventsProject-level
QuestsProject-level
LeaderboardsProject-level
RulesProject-level
API KeysProject-level

Team Roles

Manage team access with role-based permissions:
RoleDescriptionPermissions
OwnerTenant ownerFull access, billing, delete tenant
AdminAdministratorManage projects, users, settings
DesignerGame designerCreate/edit rules, quests, adventures
DeveloperDeveloperAPI access, read configs
ViewerRead-onlyView dashboards and analytics

Best Practices

Create separate projects for development, staging, and production environments. Use test API keys (ef_test_) for non-production.
Each game or application should have its own project to maintain clean data isolation.
Name projects clearly (e.g., “MyGame-Production”, “MyGame-Staging”) for easy identification.

API Context

All API requests are scoped to a project via the API key:
# This request operates within the project associated with the API key
curl -X GET "https://api.engagefabric.cloud/api/v1/players" \
  -H "X-API-Key: ef_live_your-project-key"
You don’t need to specify project IDs in most requests - the API key determines the context.