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

# Platform

> Everything for managing your account, credentials, and usage in one place - your organization and projects, API keys, authentication, usage and logs, and billing.

Everything for managing your account, credentials, and usage in one place - your organization and projects, API keys, authentication, usage and logs, and billing. Sign in at the [ZeroGPU dashboard](https://platform.zerogpu.ai/dashboard).

<Columns cols={3}>
  <Card title="Dashboard" icon="gauge" href="#dashboard" />

  <Card title="Organizations and projects" icon="folder-tree" href="#organizations-and-projects" />

  <Card title="API keys" icon="key" href="#api-keys" />

  <Card title="Authentication" icon="lock" href="#authentication" />

  <Card title="Usage and logs" icon="chart-line" href="#usage-and-logs" />

  <Card title="Billing" icon="credit-card" href="#billing" />
</Columns>

## Dashboard

Your organization, active project, API key, project ID, and a ready-to-run code snippet, all in one place.

| Field            | What it is                                          |
| ---------------- | --------------------------------------------------- |
| **Organization** | Your top-level container (your team or company)     |
| **Project**      | The active workload your requests run in            |
| **API Key**      | The credential your requests authenticate with      |
| **Project ID**   | The UUID that scopes requests to the active project |
| **Code snippet** | A prefilled request, ready to copy and run          |

<Tip>
  The dashboard prefills the snippet with your project ID. Copy it and send your first request from the [Quickstart](/docs/quickstart).
</Tip>

## Organizations and projects

An organization is your top-level container - your team or company. A project scopes the workloads you're running; use separate projects for dev, staging, and production. Each project is isolated: its own API keys, its own usage, its own logs.

| Organization | Project       | Use                 |
| ------------ | ------------- | ------------------- |
| `my-company` | `production`  | Live traffic        |
| `my-company` | `staging`     | Pre-release testing |
| `my-company` | `development` | Local experiments   |

Switch between projects, create new projects, or create new organizations from the navigation dropdown.

<Tip>
  Always separate dev from production. A leaked dev key should never be able to touch your production traffic.
</Tip>

## API keys

Create, rotate, and revoke the credentials your requests authenticate with. Issue a separate key per environment.

Keys follow a one-way lifecycle and use the `zgpu-` prefix:

```
Created (shown once) -> Active -> Revoked (permanent)
```

| Action     | What happens                                         |
| ---------- | ---------------------------------------------------- |
| **Create** | A new key is generated and shown once, in full       |
| **View**   | See masked keys and their creation dates             |
| **Revoke** | The key is disabled immediately; it cannot be undone |

Rules of thumb:

* **One key per environment** - dev, staging, and production each get their own.
* **Rotate on a schedule** - create the new key, deploy it, then revoke the old one.
* **Revoke immediately if exposed** - don't wait.

<Warning>
  The full key is only displayed once, at creation. Copy it then and store it securely - if you lose it, revoke it and create a new one.
</Warning>

## Authentication

Every request needs the `x-api-key` header (your API key). The `x-project-id` header (the project the request runs in) is optional - include it to scope the request to a specific project. A `401` means a bad API key; a `403` means a bad project ID.

| Header         | Value                                           |
| -------------- | ----------------------------------------------- |
| `x-api-key`    | Your API key from the dashboard                 |
| `x-project-id` | Optional - your project UUID from the dashboard |
| `content-type` | `application/json`                              |

```bash wrap theme={null}
curl https://api.zerogpu.ai/v1/responses \
  -H "content-type: application/json" \
  -H "x-api-key: $ZEROGPU_API_KEY" \
  -H "x-project-id: $ZEROGPU_PROJECT_ID" \
  -d '{ "model": "YOUR_MODEL", "input": "Your input text here..." }'
```

| Status | Cause                                   | Fix                                            |
| ------ | --------------------------------------- | ---------------------------------------------- |
| `401`  | Missing or invalid API key              | Check `x-api-key` - did you copy the full key? |
| `403`  | Invalid project ID or wrong permissions | Verify `x-project-id` matches the dashboard.   |

<Warning>
  API keys belong in server-side code only - never in frontend JavaScript, mobile apps, or version control. To call from a browser or mobile client, proxy the request through a server you control. See [Production patterns](/docs/production-patterns).
</Warning>

## Usage and logs

Usage shows token counts, request volume, and latency trends. Logs show every request with its model, status, latency, and timestamp.

<Columns cols={2}>
  <Card title="Usage" icon="chart-line">
    Real-time trends for the active project - spot cost spikes and latency regressions before they hit your bill.
  </Card>

  <Card title="Logs" icon="list">
    The full request history - inspect, filter, and audit individual calls.
  </Card>
</Columns>

| Usage metric              | What it tells you                |
| ------------------------- | -------------------------------- |
| **Total requests**        | How many API calls you've made   |
| **Average response time** | How fast the API is responding   |
| **Input tokens**          | Tokens you're sending to models  |
| **Output tokens**         | Tokens the models are generating |

| Log field     | Example                                         |
| ------------- | ----------------------------------------------- |
| **Model**     | The model that handled the request              |
| **Status**    | `200`, `400`, `401`, `403`, `420`, `429`, `5xx` |
| **Latency**   | Time from request to response                   |
| **Timestamp** | When the request was made                       |

<Tip>
  Use both together: Usage shows the trend, Logs show the individual requests behind it. See a spike in Usage, then filter Logs to find the requests that caused it.
</Tip>

## Billing

Usage-based pricing per million input and output tokens, priced by model - just like frontier APIs. Each model is priced on capability, latency, and compute cost.

ZeroGPU is **pay as you go**: API usage draws down a prepaid credit balance, with no reserved capacity or minimums.

| On the Billing page       | What it does                                                       |
| ------------------------- | ------------------------------------------------------------------ |
| **Credit balance**        | Your prepaid balance; API usage is paid from it                    |
| **Add to credit balance** | Add funds with a saved or new payment method                       |
| **Auto recharge**         | Optionally top up the balance automatically when it runs low       |
| **Payment methods**       | Add, change, or remove the cards used for credit and auto recharge |
| **Billing history**       | Review past transactions and their status                          |

<Tip>
  Compare per-model rates in the [Model Catalog](/docs/model-catalog), and estimate spend for your expected volume with the [cost calculator](https://zerogpu.ai/calculator).
</Tip>

## Next steps

<Columns cols={3}>
  <Card title="Quickstart" icon="play" href="/docs/quickstart" />

  <Card title="Production patterns" icon="shield-check" href="/docs/production-patterns" />

  <Card title="Model Catalog" icon="table-list" href="/docs/model-catalog" />
</Columns>
