Organizations & Roles - Entity Enricher Documentation

Organizations & Roles

Entity Enricher uses organization-based multi-tenancy. Every user belongs to one organization, and all data — records, schemas, API keys — is isolated per organization.

Multi-Tenancy

Organizations are the top-level boundary for data isolation. When you sign up, you create a new organization or join an existing one. All enrichment records, schemas, and API keys belong to your organization and are accessible to team members based on their role.

What Belongs to an Organization

Enrichment RecordsAll enrichment results, prompts, and cost data
Saved SchemasJSON schemas created or generated by team members
API KeysOrganization access keys for programmatic integration
Provider KeysLLM provider API keys for per-org billing
UsersTeam members with role-based permissions
SettingsOrganization preferences and usage limits
Semantic ConceptsThe vocabulary of stable entity identities your enrichments resolve against
Database SyncsRegistered consumer databases and their queued deltas
Benchmark ScenariosSaved model tests and their results, including any used to score model selection
Credits & BillingThe plan, the credit balance, and every transaction against it

Role Hierarchy

Entity Enricher uses a 4-tier role hierarchy. Each role includes all permissions of the roles below it:

System AdminLevel 5 · System-wide
  • Manage all organizations and users across the system
  • Cross-organization data access and reporting
  • Access interactive API documentation (Swagger UI, ReDoc)
  • Full system configuration control
OwnerLevel 4 · Organization
  • Full control over the organization
  • Manage team members: invite, approve, change roles, deactivate
  • Create and manage API keys (including organization access keys)
  • Configure organization settings and provider API keys
  • Manage billing: the plan, credit purchases and the invoice history
  • Set organization-wide defaults: preferred models per task, benchmark score weights, the embedding model
  • Delete the organization (as last owner)
EditorLevel 2 · Organization
  • Run enrichments (single and batch)
  • Create, edit, and delete schemas
  • Use AI schema generation and editing
  • View all organization records and costs
OperatorLevel 1 · Organization
  • Run enrichments using existing schemas (read-only schema access)
  • View records and cost dashboard
  • Select models and configure enrichment options

Individual and business accounts

Every organization is one of two kinds, and most of what the rest of this page describes — joining, approving, roles — only applies to the second.

Individual — a personal workspace

Created for you automatically when you sign up, named after your account. It has exactly one member, is hidden from the join search and refuses join requests even by direct link, and shows an upgrade prompt where a business account shows its Users page. Nothing else is missing: schemas, enrichments, database syncs and billing all work the same.

Business — a shared tenant

A multi-user organization: discoverable in the join search, with join requests, roles and owner approval. An owner switches either way from the organization settings — though going back to individual is refused while other members remain, since it would strand them.

Registration

Sign up with Google, GitHub, or email through Firebase authentication. You get a personal workspace straight away; from there you can create a business organization or ask to join one. Only business organizations appear in the search below.

Create Organization

  1. Sign up with your identity provider
  2. Choose an organization name and URL-safe slug
  3. You become the owner of the new organization
  4. If no system admin exists yet, you become the system admin

Join Organization

  1. Search for the organization by name or slug
  2. Submit a join request
  3. If the organization has no active owner, you are auto-approved as owner
  4. Otherwise, your request is pending until an owner approves it

User Statuses

Users go through an approval workflow when joining an organization:

StatusMeaningCan Log In?
ActiveFull access to the system based on assigned roleYes
PendingJoin request submitted, waiting for owner approvalNo
RejectedJoin request was denied by an ownerNo
DeactivatedAccount was disabled (soft delete, preserves audit trail)No

Leaving an Organization

Any user can leave their organization. The behavior depends on ownership:

Regular Members

Your account is deactivated and you are signed out. Your enrichment records remain in the organization for audit purposes.

Last Owner

If you are the only remaining owner, you must confirm organization deletion. Enrichment records and schemas are detached (not deleted), while users, API keys, and provider keys are removed with the organization.

User Management

Owners access the User Management page to manage their team, and system admins see one tab more:

Active UsersView all active team members, change roles, deactivate accounts, or delete them permanently
Pending RequestsReview and approve or reject join requests from new users
OrganizationsSystem admins only: every organization on the platform with its plan and credit balance — assign a plan, grant credits, or move a user to another organization

Safety rules:

  • Users cannot deactivate or delete themselves
  • Permanent deletion removes the account and its sign-in identity for good; enrichment records and schemas are kept but lose their author
  • Users cannot demote themselves below their current role
  • Only owners can promote or demote other members within an organization; granting the system-admin role is reserved to existing system admins

Organization Settings

The Settings page is where an owner configures the organization itself, in two parts:

Identity & contact

The organization's display name, contact details and postal address, and its account type (individual or business). The URL slug is fixed once created, since links and integrations are built on it.

Defaults

Choices that apply to everyone in the organization rather than to one run: a preferred model per task (used whenever a request does not name one), how quality, speed and cost are weighted when ranking models, and the embedding model that semantic IDs resolve against. Defaults are a plan feature — on plans without it the section is read-only.

Authentication

Entity Enricher supports multiple authentication methods:

Social Login

Sign in with Google or GitHub via Firebase. No password needed.

Email + Password

Traditional email and password authentication via Firebase.

API Keys

Programmatic access keys for CI/CD and service integrations.

After authentication, the backend issues short-lived JWT access tokens (15 minutes) and long-lived refresh tokens (7 days). Learn more about programmatic access in the API Keys guide.

Next Steps