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

# Quickstart

> Run your first verification in about five minutes.

This guide takes you from a new account to a working check against the test environment. You will create a test API key, then run a NIN lookup and read the result.

## 1. Create your account

Sign up at the [Pruva dashboard](https://app.pruva.africa) and create your organization. You can build and test immediately; approval is only required to run **live** checks, not test ones.

## 2. Get a test API key

In the dashboard, go to **Developer, API keys** and create a key. Choose the **test** environment.

A key looks like this:

```text theme={null}
pruva_test_1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b
```

<Warning>
  The full key is shown **once**, at creation. Copy it and store it somewhere safe, like a secret manager. Pruva only keeps a hash, so a lost key cannot be recovered, only replaced.
</Warning>

## 3. Run your first check

Send the inputs for a scope directly in the request body, to the scope's endpoint. For a NIN lookup that is `POST /v1/nin`:

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.pruva.africa/v1/nin \
    -X POST \
    -H "X-Pruva-Key: pruva_test_YOUR_KEY" \
    -H "Content-Type: application/json" \
    -d '{ "nin": "12345678901" }'
  ```

  ```javascript Node theme={null}
  const res = await fetch("https://api.pruva.africa/v1/nin", {
    method: "POST",
    headers: {
      "X-Pruva-Key": "pruva_test_YOUR_KEY",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ nin: "12345678901" }),
  });

  const verification = await res.json();
  console.log(verification.reference, verification.status);
  ```

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

  res = requests.post(
      "https://api.pruva.africa/v1/nin",
      headers={"X-Pruva-Key": "pruva_test_YOUR_KEY"},
      json={"nin": "12345678901"},
  )

  verification = res.json()
  print(verification["reference"], verification["status"])
  ```
</CodeGroup>

<Note>
  The exact input fields depend on the scope. `nin` takes a NIN number; other scopes take their own fields. Each scope's inputs are listed on its page under [Verification scopes](/scopes/overview).
</Note>

## 4. Read the result

A successful call returns the verification as JSON:

```json theme={null}
{
  "reference": "43817179a3dc8c341d358432b0590924",
  "scope": "nin",
  "category": "kyc",
  "countryCode": "NG",
  "status": "found",
  "request": { "nin": "12345678901" },
  "result": {
    "firstName": "Ada",
    "lastName": "Okafor",
    "dateOfBirth": "1990-04-12"
  },
  "errorMessage": null,
  "priceKobo": 5000,
  "charged": true,
  "createdAt": "2026-07-27T08:50:00+01:00"
}
```

The fields that matter most:

| Field       | Meaning                                                                                                       |
| ----------- | ------------------------------------------------------------------------------------------------------------- |
| `status`    | `found` when the record exists, `not_found` when it does not, `failed` when the check could not be completed. |
| `reference` | A stable id for this verification. Use it to [retrieve the result later](/api-reference/get-verification).    |
| `result`    | The details found, shaped by the scope. Empty when nothing was found.                                         |
| `charged`   | Whether your wallet was debited for this check.                                                               |

## 5. Retrieve it later

Any verification can be fetched again by its reference, whatever the scope:

```bash theme={null}
curl https://api.pruva.africa/v1/verifications/43817179a3dc8c341d358432b0590924 \
  -H "X-Pruva-Key: pruva_test_YOUR_KEY"
```

## Next steps

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/get-started/authentication">
    Key formats, the `X-Pruva-Key` header, and keeping keys safe.
  </Card>

  <Card title="Environments" icon="flask" href="/get-started/environments">
    How test and live differ, and what to check before going live.
  </Card>

  <Card title="API reference" icon="code" href="/api-reference/overview">
    Every endpoint, request, and response in detail.
  </Card>

  <Card title="Widgets" icon="window" href="/widgets/overview">
    Collect selfies and documents in the browser without handling images.
  </Card>
</CardGroup>
