---
title: Accounts and projects
description: How the account, its projects and its members fit together, and how to read the one you are working in.
type: explanation
product: platform
summary: One organization is the account; projects group one product's resources.
updated: 2026-09-28
order: 1
---

An account on Sylphx is an organization, created once and billed once. Every
resource you run belongs to one organization, and every path in the API starts
there.

## The organization is the account

The organization is the root of everything you own. Its path is `orgs/{org}`,
and its id starts with `org_`. Billing, members and their roles attach to the
organization rather than to anything below it.

## Projects

A project groups the resources of one product. A project's path is
`orgs/{org}/projects/{project}`, and its id starts with `prj_`. You create a
project, and manage the members of your organization, in the console at
https://sylphx.com/console.

Every id begins with the kind of thing it names, then a four-character location
code, then a ULID:

<KeyValue
	items={[
		{ key: 'Organization', value: 'org_<location><ulid>', mono: true },
		{ key: 'Project', value: 'prj_<location><ulid>', mono: true },
		{ key: 'Environment', value: 'env_<location><ulid>', mono: true },
	]}
/>

The location code records where the id was created and stays with it. Read the
prefix to know what a string names, and treat the rest as opaque; an id for a
resource you already have is the one to quote back to support.

## Members and roles

Members belong to the organization, not to a project, so one membership covers
every project in the account. There are five roles, and they rank in this order
of authority:

<PropertyTable
	properties={[
		{
			name: 'owner',
			type: 'role',
			description: 'The highest authority in the organization.',
		},
		{
			name: 'admin',
			type: 'role',
			description: 'Second in authority, below owner.',
		},
		{
			name: 'developer',
			type: 'role',
			description: 'Third in authority, below admin.',
		},
		{
			name: 'billing',
			type: 'role',
			description: 'Fourth in authority, below developer.',
		},
		{
			name: 'viewer',
			type: 'role',
			description: 'Fifth and last, below billing.',
		},
	]}
/>

## Reading the current account

A key acts inside one organization, one project and one environment. `GET
/v1/whoami` reports which: the `principal` behind the key, the `org`, `project`
and `env` it is scoped to, the `api_key` itself when it belongs to one
environment, and the `scopes` it carries. Every valid key may call it, whatever
its scopes. The client library also carries an `apiVersion` field for the
version applied to the request, which stays empty until the first version ships
([API versions](/docs/platform/versioning)).

<CodeBlock language="bash" code={`sylphx access whoami`} />

<RelatedDocs
	links={[
		{ href: '/docs/platform/environments', label: 'Environments' },
		{ href: '/docs/platform/keys-and-scopes', label: 'Keys and scopes' },
	]}
/>
