OXYGENOxygen/ Docs
Workspace

Organizations

An organization is one workspace boundary for data, context, integrations, runs, members, and credits.

Every table, row, run, integration, wiki page, member, and credit belongs to exactly one organization, and each org's data sits in its own tenant database schema. Nothing crosses that line except a billing link (below).

Projects

Within an org, tables and workflows can be grouped into projects. The default project is general.

oxygen projects list --json
oxygen projects create "Outbound Q1" --json
oxygen projects rename outbound-q1 --name "Pipeline Q1" --json
oxygen projects delete pipeline-q1 --json                 # dry-run preview
oxygen projects delete pipeline-q1 --live --confirm --json

A project is a grouping for navigation, not a separate billing or permission boundary. Rename changes its name and slug without renaming the physical database schema. Delete refuses with project_not_empty while any table remains — archived and delete-scheduled tables count — so move or finish purging those first. The default general project cannot be renamed or deleted. A bare delete is always a preview; live deletion requires --live --confirm.

Projects also carry workspace tags: oxygen projects tag <project> --tags <csv>.

Switching orgs

oxygen orgs list --json
oxygen orgs use <slug>
oxygen whoami --json

oxygen whoami returns the active org with its plan_tier, entitled, shared_billing, billing_owner_organization_id, and monthly_credit_cap, plus your membership and the API key in use. --summary-json prints the same identity with no credential-shaped fields, for health probes and logs.

Multi-org users

Agencies typically use one org per client. Org switching is per CLI profile or MCP session, so check the active org before importing client data or running paid work.

If an MCP client returns organization_selection_required, ask it to call oxygen_orgs_list and then oxygen_orgs_select for the intended workspace.

Billing ownership

Each org owns its own credit balance by default. A workspace with no plan of its own can be covered by a plan you already pay for in another org instead of buying a second subscription.

oxygen orgs billing-owners --json                          # which of your orgs may pay, and why the rest may not
oxygen orgs billing-link --owner <org> --json              # omit --owner when exactly one is eligible
oxygen orgs billing-link --owner <org> --monthly-credit-cap 50000 --json
oxygen orgs billing-unlink --json

Credit billing moves; data access does not — a billing owner gains no read of the linked workspace. billing-link targets the active org unless you pass --organization. Omitting --monthly-credit-cap leaves any existing cap untouched rather than clearing it.

Members

oxygen orgs member-role <email> --role admin|member        # admin only

Inviting people is still done in workspace settings; this only moves an existing member between the two workspace roles. Demote an admin to member before granting them the restricted client role — an admin's role overrides the restriction.

On this page