Organizations and Users
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 moreOrganizations
. - Permissions: A
User
’s ability to perform actions (like creating aProduct
, viewing aWallet
balance, or generating anAPI Key
) depends on the permissions granted to them within theOrganization
. - Authentication:
Users
authenticate via the dashboard login or usingAPI Keys
for programmatic access. EachAPI Key
is linked to a specificUser
and inherits their permissions.
Resource Ownership and Access
To summarize:
- Resources (like
Products
,Plans
,Wallets
) are always owned by anOrganization
. - Actions on resources are always performed by a
User
. - A
User
can only act on resources owned by anOrganization
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.