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

# Quick Start

> Get your first API response in under 2 minutes.

# Quick Start

Get up and running with the Power Signals API in three steps.

## 1. Create an Account

Sign up at [powersignals.co.za](https://powersignals.co.za/signup/).

## 2. Get an API Key

Navigate to your **[dashboard](https://powersignals.co.za/dash/)** and click **Create** under API Keys. Give it a descriptive name (e.g. "Development").

<Warning>
  Copy your API key immediately — it is only shown once at creation time.
</Warning>

## 3. Make Your First Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.powersignals.co.za/api/v1/grid/system-state?start=2026-01-01T00:00:00Z&end=2026-01-01T06:00:00Z&interval=1h" \
    -H "X-API-KEY: your_api_key_here"
  ```

  ```python Python theme={null}
  import requests

  headers = {"X-API-KEY": "your_api_key_here"}

  response = requests.get(
      "https://api.powersignals.co.za/api/v1/grid/system-state",
      headers=headers,
      params={
          "start": "2026-01-01T00:00:00Z",
          "end": "2026-01-01T06:00:00Z",
          "interval": "1h",
      },
  )

  data = response.json()
  print(data["meta"]["dataset"])  # "grid.system_state"
  print(len(data["data"]))       # 6 hourly records
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    "https://api.powersignals.co.za/api/v1/grid/system-state?start=2026-01-01T00:00:00Z&end=2026-01-01T06:00:00Z&interval=1h",
    {
      headers: { "X-API-KEY": "your_api_key_here" },
    }
  );

  const { meta, data } = await response.json();
  console.log(meta.dataset); // "grid.system_state"
  console.log(data.length);  // 6 hourly records
  ```
</CodeGroup>

## Response Format

All API responses follow a consistent envelope:

```json theme={null}
{
  "meta": {
    "dataset": "grid.system_state",
    "interval": "1h",
    "timezone": "UTC",
    "schema_version": "1.0",
    "start": "2026-01-01T00:00:00+00:00",
    "end": "2026-01-01T06:00:00+00:00"
  },
  "data": [
    {
      "ts": "2026-01-01T00:00:00Z",
      "residual_demand_mw": 28450.0,
      "total_re_mw": 3200.0,
      "..."
    }
  ]
}
```

## Next Steps

* [Authentication](/guides/authentication) — Learn about API key management and security
* [Grid System State](/api-reference/grid/system-state) — Full endpoint reference
* [Rate Limits](/guides/rate-limits) — Understand request limits and best practices
