In Sulu, the concepts of Organizations and Users are fundamental to how resources are managed and accessed. Understanding these is key to working effectively with the platform.

Organizations

Organizations own resources within Sulu. Every resource, whether it’s a Product, Billable Metric, Plan, Customer, or even a Wallet, belongs to an Organization at the top level.

An Organization can represent a single individual (like a solopreneur) or a larger company. Crucially, Organizations can function in two primary roles:

Merchant Role

Organizations acting as Merchants are those who sell or monetize products or services through Sulu. They define Products, set up Billable Metrics and Plans, manage Customers, and receive funds into their Wallets.

Merchants have an extended set of capabilities compared to Consumers and typically need to undergo due diligence for full account activation.

  • Owns: Products, Billable Metrics, Plans, Customers (relationships), Wallets.
  • Receives: Payments from Consumers.
  • Can Act As: Also has all Consumer capabilities.

Consumer Role

Organizations acting as Consumers are those who purchase or use products monetized by Merchants. They subscribe to Plans, top up their Wallets, and pay for their usage.

Any customer of a Merchant is represented by a Consumer Organization in Sulu.

  • Owns: Wallets, Subscriptions (agreements).
  • Makes: Payments to Merchants.

An Organization can potentially act as both a Merchant (selling its own product) and a Consumer (using another product built on Sulu).

Users

While Organizations own resources, Users act on those resources. Every action performed in Sulu, whether through the dashboard or the API, is carried out by a User.

  • Membership: Users belong to one or more Organizations.
  • Permissions: A User’s ability to perform actions (like creating a Product, viewing a Wallet balance, or generating an API Key) depends on the permissions granted to them within the Organization.
  • Authentication: Users authenticate via the dashboard login or using API Keys for programmatic access. Each API Key is linked to a specific User and inherits their permissions.

Resource Ownership and Access

To summarize:

  • Resources (like Products, Plans, Wallets) are always owned by an Organization.
  • Actions on resources are always performed by a User.
  • A User can only act on resources owned by an Organization they belong to, provided they have the necessary permissions.

This model ensures clear separation of ownership and access control within the Sulu ecosystem.

Next, let’s dive into Wallets, the core abstraction for payments and billing.