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

# Quickstart

> Make your first Kua API call in a few minutes.

This walks you from zero to your first authenticated request.

<Steps>
  <Step title="Create an API key">
    In the [dashboard](https://dashboard.kuahr.com/settings/api-keys), go to
    **Settings → API keys** and issue a key. The secret (`kua_live_…`) is shown
    **once** — copy it somewhere safe. Prefer a `kua_test_…` key while you build,
    so you work against [sandbox data](/concepts/data-model#test-mode).
  </Step>

  <Step title="Install an SDK (optional)">
    You can call the API with plain HTTP, or use an official SDK.

    <CodeGroup>
      ```bash Node theme={null}
      npm install @kua/node
      ```

      ```bash Python theme={null}
      pip install kua
      ```

      ```bash cURL theme={null}
      # Nothing to install — curl is enough.
      ```
    </CodeGroup>
  </Step>

  <Step title="Make your first request">
    List your payroll runs. Pass your key in the `X-Api-Key` header.

    <CodeGroup>
      ```bash cURL theme={null}
      curl https://api.kuahr.com/v1/payroll/runs \
        -H "X-Api-Key: kua_test_your_key_here"
      ```

      ```ts Node theme={null}
      import { Kua } from "@kua/node";

      const kua = new Kua({ apiKey: process.env.KUA_API_KEY! });
      const runs = await kua.payrollRuns.list();
      console.log(runs);
      ```

      ```python Python theme={null}
      import os
      from kua import Kua

      kua = Kua(api_key=os.environ["KUA_API_KEY"])
      runs = kua.payroll_runs.list()
      print(runs)
      ```

      ```php PHP theme={null}
      <?php
      $ch = curl_init("https://api.kuahr.com/v1/payroll/runs");
      curl_setopt_array($ch, [
          CURLOPT_RETURNTRANSFER => true,
          CURLOPT_HTTPHEADER => ["X-Api-Key: " . getenv("KUA_API_KEY")],
      ]);
      $runs = json_decode(curl_exec($ch), true);
      print_r($runs);
      ```
    </CodeGroup>

    A successful call returns `200` with a JSON array of runs (empty if you have
    none yet).
  </Step>

  <Step title="Subscribe to events">
    Register a [webhook](/webhooks/overview) so Kua pushes events — like a
    completed payroll run — to your systems as they happen.
  </Step>
</Steps>

## Next steps

<CardGroup cols={2}>
  <Card title="Pay your first employee" icon="graduation-cap" href="/tutorials/pay-your-first-employee">
    An end-to-end walkthrough: add an employee, run payroll, receive the event.
  </Card>

  <Card title="Data model" icon="sitemap" href="/concepts/data-model">
    How companies, employees, runs, wallets, and events fit together.
  </Card>

  <Card title="Authentication" icon="key" href="/authentication">
    Keys, scopes, and rotation.
  </Card>

  <Card title="API reference" icon="code" href="/api-reference">
    Every endpoint, with a live "Try it" playground.
  </Card>
</CardGroup>
