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

# Provider Activation

> What activation is, the states a provider moves through, and how Hopae helps you get providers ready.

## What is activation?

**Activation is the one-time setup that connects your app to an eID provider so it can run verifications.** Every provider you want to use must be activated once for your app before it accepts real users.

## Why is it needed?

Most eID providers, especially those backed by governments or banks, need to know who is relying on their identity data before they release it. So each provider has its own onboarding step before you can go live. Hopae manages this process for you and turns it into a single step, instead of a separate onboarding with each provider.

## Activation types

Providers differ in how much is needed to turn them on. Each one falls into one of three types:

| Type             | What it means                                                                                       |
| :--------------- | :-------------------------------------------------------------------------------------------------- |
| **Direct**       | Turns on immediately. There is nothing for you to fill in.                                          |
| **Registration** | You provide a few business details, then the provider reviews and approves them before it turns on. |
| **Contract**     | Needs a separate agreement. You reach out, and Hopae arranges onboarding with the provider.         |

## Status and lifecycle

Every provider moves through a small set of states. You can read the current state at any time and show it in your own UI.

| Status                  | What it means                                                         |
| :---------------------- | :-------------------------------------------------------------------- |
| `not_activated`         | Not set up yet. This is where every provider starts.                  |
| `activation_requested`  | You have submitted your details, and they are waiting to be reviewed. |
| `activation_processing` | Your submission is being reviewed and set up.                         |
| `rejected`              | Something needs fixing. You can update your details and submit again. |
| `activated`             | Ready to use for verifications.                                       |

How a provider moves between these states depends on its type:

```mermaid theme={null}
stateDiagram-v2
    direction LR
    [*] --> not_activated
    not_activated --> activated: instant
    not_activated --> activation_requested: submit
    activation_requested --> activation_processing: review
    activation_processing --> activated: approved
    activation_processing --> rejected
    rejected --> activation_requested: resubmit
    activated --> [*]
```

* **Direct** providers skip the review and become `activated` right away.
* **Registration** providers go through review before they are approved or rejected.
* `rejected` is not the end. Fixing your details and submitting again restarts the review.
* **Contract** providers stay `not_activated` until the separate onboarding with the provider is complete.

## Shared company details

The first time you activate a provider, the business details you enter (company name, address, contact, and so on) are saved to your app. The next provider you activate prefills those shared details, so you do not re-enter them every time. Details that are specific to one provider stay with that provider.

## Sandbox

The sandbox runs the same activation flow as production, so you build and test against real statuses and timing. Nothing is sent to a real provider, but registration providers still wait at `activation_requested` for review and contract providers still need their separate onboarding — just like production.

To test the full activated flow without waiting for review, submit with `demo: true` (sandbox only). Registration and contract providers then move to `activation_processing` and auto-approve to `activated` about a second later.

## Webhook notifications

When a provider becomes activated, or a submission is rejected, Hopae can notify your system with a webhook so you do not have to poll for changes. Webhooks fire in both sandbox and production — a sandbox `demo: true` activation triggers the same webhook a real approval would. See [Webhook Signing](/guides/webhook-signing) for how to verify them.

## See also

* [Submit Activation](/api-reference/workspace/activation/submit-activation) for the request and response details.
* [Get Providers](/api-reference/workspace/get-providers) to read activation status and required fields.
