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

# Quickstart

> Provision your first trading account in three requests.

<Note>
  This quickstart uses the **Platform API** (`https://api.hyperprop.com/platform`)
  — the firm-facing control plane. The **Trade API** (order/position management,
  `/trade`) and **Market Data** (`/md`) are separate services with their own base
  URLs and auth — see [Services & base URLs](/introduction#services--base-urls)
  and their reference tabs.
</Note>

## 1. Get an API key

An organization admin creates API keys in the dashboard under
**Settings → API Keys**. Each key carries permissions (`read`, `write`,
`admin`) and can be rotated or revoked at any time. The raw key
(`hp_live_...`) is shown **once** at creation — store it securely.

<Warning>
  Keys are stored hashed (SHA-256) on our side. If you lose the raw key,
  rotate it — there is no way to retrieve it.
</Warning>

## 2. List your trading plans

Grab a `tradingPlanId` to provision accounts against:

```bash theme={null}
curl "https://api.hyperprop.com/platform/v1/organization/trading-plans" \
  -H "X-API-Key: hp_live_your_key_here"
```

```json theme={null}
{
  "success": true,
  "data": [
    {
      "id": "3f2b7c9e-...",
      "name": "50K Evaluation",
      "accountSize": 50000,
      "price": 0
    }
  ]
}
```

## 3. Create a trading account

By trader email (the trader must already have a Hyperprop account) or by
Hyperprop user ID:

```bash theme={null}
curl -X POST "https://api.hyperprop.com/platform/v1/organization/trading-accounts" \
  -H "X-API-Key: hp_live_your_key_here" \
  -H "Idempotency-Key: order-8814-attempt-1" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "evaluation",
    "tradingPlanId": "3f2b7c9e-...",
    "email": "trader@example.com"
  }'
```

The `Idempotency-Key` header makes the request safe to retry — see
[Idempotency](/concepts/idempotency).

## 4. React to lifecycle events

Subscribe a webhook endpoint to know the moment an account passes, fails, or
changes:

```bash theme={null}
curl -X POST "https://api.hyperprop.com/platform/v1/organization/webhooks" \
  -H "X-API-Key: hp_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-backend.example.com/hyperprop/webhooks",
    "events": ["account.created", "account.passed", "account.failed"]
  }'
```

Deliveries are HMAC-signed and retried with backoff — verification recipe in
the [webhooks guide](/guides/webhooks).

## Next steps

<CardGroup cols={2}>
  <Card title="Error handling" icon="triangle-exclamation" href="/concepts/errors">
    One uniform error envelope with machine-readable codes.
  </Card>

  <Card title="Custom metadata" icon="tags" href="/concepts/metadata">
    Attach your own payment IDs and references to any resource.
  </Card>
</CardGroup>


## Related topics

- [Introduction](/introduction.md)
- [Partner integrations](/guides/partner-integrations.md)
