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

> ## Agent Instructions
> H Platform has four products: the Agents API (managed computer-use agents, base URL https://agp.eu.hcompany.ai/api/v2 or https://agp.hcompany.ai/api/v2 for the US), the Models API (OpenAI-compatible Holo vision-language models at https://api.hcompany.ai/v1), HoloDesktop CLI (Holo on the user's own desktop), and HoloTab (a free no-code Chrome extension that runs Holo in the user's browser, with recordable routines and schedules).
> Authenticate with a bearer API key from the HAI_API_KEY environment variable. SDKs: `pip install hai-agents` (Python, `from hai_agents import Client`) and `npm install hai-agents` (TypeScript, `import { HaiAgentsClient } from "hai-agents"`). CLI: `hai`.
> Agents do work in a browser or on a desktop; describe the task as an imperative instruction. To run a task quickly, prefer the pre-built agent `h/web-surfer-flash`. Read results from the session's `latest_answer` after it reaches a terminal status.
> Sessions are the unit of work; wait for a terminal status (completed, failed, timed_out, interrupted) before reading the answer. Use webhooks or the `changes` long-poll endpoint to follow progress.

# Plans and limits

> Plans, token and concurrency allowances, session queueing, and how to manage your subscription.

Your organization's plan sets two allowances: tokens per billing period, and sessions running at once. Both are tracked per organization and readable from the API. There are no request-rate limits.

## Plans

| | **Free** | **Developer** |
| - | - | - |
| Price | \$0 | \$29 / month |
| Tokens per billing period | 15,000,000 | 65,000,000 |
| Concurrent sessions | 3 | 10 |
| Resets | Monthly, on your signup day-of-month | Monthly, on your subscription's billing date |

Allowances may change: read the live values from the API instead of hard-coding them.

## Token usage

Agents consume tokens as they run. When the period's allowance runs out, creating a session (or messaging a finished one, which restarts it) fails with `402 Payment Required`. Its `detail` carries `limit`, `used`, and `window_end`. See [Errors](/agents-api/errors).

<CodeGroup>
  ```bash cURL theme={"system"}
  curl https://agp.eu.hcompany.ai/api/v2/quota/tokens \
    -H "Authorization: Bearer $HAI_API_KEY"
  ```

  ```python Python theme={"system"}
  from hai_agents import Client

  client = Client()

  tokens = client.quota.get_token_quota()
  print(tokens.remaining)
  ```

  ```typescript TypeScript theme={"system"}
  import { HaiAgentsClient } from "hai-agents";

  const client = new HaiAgentsClient();

  const tokens = await client.quota.getTokenQuota();
  console.log(tokens.remaining);
  ```
</CodeGroup>

```json Response theme={"system"}
{
  "limit": 15000000,
  "used": 4200000,
  "remaining": 10800000,
  "window_start": "2026-06-01T00:00:00Z",
  "window_end": "2026-07-01T00:00:00Z"
}
```

| Field | Type | Description |
| - | - | - |
| `limit` | integer \| null | Tokens allowed this period. `null` means unlimited. |
| `used` | integer \| null | Tokens used so far. `null` if momentarily unavailable. |
| `remaining` | integer \| null | `max(limit - used, 0)`. |
| `window_start` | string | Start of the current period (UTC). |
| `window_end` | string \| null | End of the current period (UTC). |

## Concurrent sessions

A session holds a slot from the moment it leaves `queued` until it reaches a [terminal state](/agents-api/sessions/overview#lifecycle), including when you [cancel](/agents-api/sessions/cancel) it. Queued sessions hold no slot. See [Get quota](/agents-api/sessions/quota) for the fields.

<CodeGroup>
  ```bash cURL theme={"system"}
  curl https://agp.eu.hcompany.ai/api/v2/sessions/quota \
    -H "Authorization: Bearer $HAI_API_KEY"
  ```

  ```python Python theme={"system"}
  quota = client.sessions.get_session_quota()
  print(quota.available)
  ```

  ```typescript TypeScript theme={"system"}
  const quota = await client.sessions.getSessionQuota();
  console.log(quota.available);
  ```
</CodeGroup>

```json Response theme={"system"}
{
  "scope": "user",
  "limit": 10,
  "active": 3,
  "available": 7
}
```

### Queued sessions

At the limit, a create doesn't fail: it returns `201` with status `queued`, and the session starts on its own, oldest first, as slots free up. It then follows the normal [lifecycle](/agents-api/sessions/overview#lifecycle) (`queued`, `pending`, `running`, terminal) and fires a [webhook](/agents-api/webhooks/overview) on every transition. Set [`queue: false`](/agents-api/sessions/create) on the create body to get a `429` instead.

| While queued | Behavior |
| - | - |
| Messages | Buffered, delivered when the session starts. |
| Pause / resume | Unavailable (`409`). |
| [Cancel](/agents-api/sessions/cancel) | Dequeues it immediately. |
| Queue size | Up to 1000 sessions per organization. Beyond that, creates return `429`. |
| [Child sessions](/agents-api/multi-agent) | Never queue: a create with `parent_session_id` fails with `429` at capacity, since a child queued behind its own running parent could wait forever. |

For batches, fire every task at once, let the platform pace them, and collect results with [webhooks](/agents-api/webhooks/overview).

<CodeGroup>
  ```bash cURL theme={"system"}
  for product in "Framework 13" "MacBook Air" "ThinkPad X1"; do
    curl -sX POST https://agp.eu.hcompany.ai/api/v2/sessions \
      -H "Authorization: Bearer $HAI_API_KEY" -H "Content-Type: application/json" \
      -d "{\"agent\": \"h/web-surfer-flash\", \"messages\": \"Check price for $product\"}"
  done
  ```

  ```python Python theme={"system"}
  sessions = [
      client.sessions.create_session(agent="h/web-surfer-flash", messages=f"Check price for {product}")
      for product in products
  ]
  ```

  ```typescript TypeScript theme={"system"}
  const sessions = await Promise.all(
    products.map((product) =>
      client.sessions.createSession({
        body: { agent: "h/web-surfer-flash", messages: `Check price for ${product}` },
      }),
    ),
  );
  ```
</CodeGroup>

## Managing your subscription

Start a Developer subscription from the billing page in the [platform dashboard](https://platform.hcompany.ai/settings/billing?product=computeruseagents\&plan=developer\&source=docs) (card only). Manage your card and invoices through the Stripe billing portal linked from the same page. Cancelling stops the renewal: Developer allowances stay active until the end of the current period, then the organization returns to Free.

For higher allowances or an Enterprise plan, contact [support@hcompany.ai](mailto:support@hcompany.ai).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.