> ## 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.

# Scopes and activation

> What a scope is, and why one must be active before you can run it.

A **scope** is a single kind of check, identified by a short slug you put in the request path. `nin` is a scope, `bvn` is a scope, `face_match` is a scope. The scope decides which provider Pruva calls, what inputs it needs, and what it returns.

```bash theme={null}
POST /v1/nin      # runs the NIN scope
POST /v1/bvn      # runs the BVN scope
POST /v1/face_match
```

The request body is simply that scope's inputs. There is no separate "type" field; the scope in the path is the type.

## Activation

A scope is not available to your organization until it is **activated**. Activation is what connects your organization to a provider for that scope, at an agreed price. Until then, calling the scope returns `403`, even with a valid key.

This is deliberate. It means:

* You only pay for, and can only run, the checks you have set up.
* A leaked key cannot run scopes you never activated.
* Pricing is fixed per scope at activation, so a check's cost is predictable.

<Note>
  Activate scopes from the dashboard. If you need a scope that is not offered to your organization yet, contact support to have it enabled.
</Note>

## The activation gate

When you run a scope, Pruva checks three things in order, and each has its own `403` so you can tell them apart:

| Situation                                      | What it means                                           |
| ---------------------------------------------- | ------------------------------------------------------- |
| The scope is not assigned to your organization | Your organization has never been set up for this check. |
| The scope is assigned but switched off         | It was set up but is currently paused for you.          |
| The scope is globally unavailable              | The check is temporarily disabled platform wide.        |

Your API key also carries its own list of allowed scopes. A key limited to `nin` cannot run `bvn` even if your organization has `bvn` active. This lets you issue narrow keys, for example a key that can only run the one scope a given service needs.

<Warning>
  Two separate gates both have to pass: your **organization** must have the scope active, and your **key** must be allowed to run it. A `403` on a scope means one of the two is not satisfied.
</Warning>

## Categories

Scopes are grouped into categories, which show up as the `category` field on a result:

<CardGroup cols={2}>
  <Card title="kyc" icon="id-card">
    Individual identity: NIN, BVN, voter's card, passport, bank account, phone, and more.
  </Card>

  <Card title="kyb" icon="building">
    Business verification: company search, tax ID, and TIN.
  </Card>

  <Card title="vision" icon="face-viewfinder">
    Face comparison, face detection, and document reading.
  </Card>

  <Card title="aml" icon="shield-halved">
    Adverse media, PEPs, and sanctions screening.
  </Card>
</CardGroup>

The full list of scopes, with the inputs each needs and the fields each returns, is in [Verification scopes](/scopes/overview).
