Each user belongs to precisely 1 organization (company or association). Billing plans and invoices are managed on the organization-level. Several things are restricted within an organization. For example a user can't list users from another organization and dashboards/datasets are by default not accessible to other users. However, in case it is necessary to share securables cross organization, securables can be associated directly to a user or group.
An organization can not be made explicitly. The first user that you make determines your organization. Every new user that is created via the API either creates a new organization (in case no API token was used to create the user) or is added to an existing organization by using an organization owner's API token. If you need to bootstrap an organization programmatically this means you have to:
Create the first user (which will create a trial)
Retrieve the organization using the user id
Update the organization details
This mechanism can be used to create organizations for your clients or bootstrap your organization completely from code.
npm install @luzmo/nodejs-sdk