> ## Documentation Index
> Fetch the complete documentation index at: https://docs.compute.prentis.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Concepts

> Organizations, accounts, keys and models — and which one a given thing belongs to.

export const exampleModel = 'deepseek-v4.1-flash';

export const baseUrl = 'https://compute.prentis.ai/v1';

Five nouns carry the whole platform. The one that surprises people is that there are
**two** tenancy levels, not one.

## Organization and account

<CardGroup cols={2}>
  <Card title="Organization" icon="building">
    The company. People and the billing relationship live here. Members are invited to an
    organization, not to an account.
  </Card>

  <Card title="Account" icon="folder">
    A workspace inside it. Models, API keys, requests and usage all belong to an account,
    and an organization may have several.
  </Card>
</CardGroup>

The split is what lets one company run `production` and `staging` separately — separate
keys, separate usage, separate model catalogues — while credits, invoices and people stay
in one place.

In practice: **money and people are organization-level; everything a request touches is
account-level.** When a page or an error says "this account", it means the workspace, not
the company.

## Principals and API keys

A **principal** is who is acting — a person signed into the console, or an API key calling
the data plane. Every request record names one.

An **API key** belongs to an account and inherits what that account may do. One key per
deployment is worth the small extra setup: revoking a leaked key takes one service offline
instead of all of them, and usage separates by key without you sending anything extra.

## Models

A **model** is weights the platform can route to. It belongs to an account — either the
platform's own catalogue or yours.

That ownership is why there are two ways to write the name:

| Form                                         | Means                                                    |
| -------------------------------------------- | -------------------------------------------------------- |
| <code>{exampleModel}</code>                  | A platform model. Short form of `accounts/maas/models/…` |
| `accounts/acme/models/support-classifier-v3` | A model belonging to the `acme` account                  |

A bare slug will never resolve to another account's model, whatever it is called. Full
detail is on [Models and resource names](/models-and-resource-names).

<Note>
  A model name is a routing key, not a vendor's product name, and nothing in a response
  names who ran it. That is deliberate — see [Routing and providers](/routing-and-providers).
</Note>

## Requests

A **request** is one call to the data plane. It gets an `x-request-id` at the door, that id
comes back on the response — success or failure — and it is the handle for everything
afterwards: the timing, the tokens, the route, the charge.

The console's Requests page is the same record, not a parallel log, so an id from your own
logs finds the call there.

## Control plane and data plane

Two different surfaces, and it is worth knowing which you are on:

* **Data plane** — <code>{baseUrl}</code>. Inference. Authenticated with an API
  key. This is what the [API reference](/api-reference/introduction) documents.
* **Control plane** — the [console](https://compute.prentis.ai). Creating keys, managing
  models, reading usage, paying. Authenticated as a person.

Everything on this site is the data plane. Where a guide says "in the console", that is the
control plane and there is no public API for it yet.

## Next

<CardGroup cols={2}>
  <Card title="Quickstart" icon="play" href="/quickstart">
    A key, an environment variable, and a working call.
  </Card>

  <Card title="Models and resource names" icon="boxes" href="/models-and-resource-names">
    Writing the name, and what happens when a model retires.
  </Card>
</CardGroup>
