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

# Getting your identity approved

> Understand the approval options for a Legal Identity application and how to request peer review

After submitting a Legal Identity application and calling `ReadyForApproval`, the Neuron initiates a review process. Depending on how the Neuron is configured, approval can happen manually, automatically, or via peer review.

## Prerequisites

* A submitted Legal Identity application in `Created` state
* The Legal Identity ID from your `ApplyId` response

## Approval methods

### Manual approval

A Neuron operator reviews the application in the admin dashboard under **Notarius Electronicus → Pending Identity Applications** and approves or rejects it. No additional API calls are needed from the client.

### Automated KYC

If the Neuron has an automated Know Your Customer (KYC) service configured, it processes the application automatically. The result is delivered asynchronously — poll `PopMessages` or `GetIdentity` to monitor the outcome.

### Peer review

If the Neuron has peer review configured, other users with approved Legal Identities can vouch for your application. The required number of approvals is returned by `GetApplicationAttributes`.

#### Step 1: Get available reviewers

The Neuron may publish a list of featured peer reviewers — users who have agreed to review applications:

```http theme={null}
POST /Agent/Legal/GetServiceProvidersForIdReview
Authorization: Bearer {token}
Content-Type: application/json

{ "legalId": "<your legal identity ID>" }
```

The response includes human reviewers and any automated KYC services. Each entry has an associated Legal Identity ID you will use when sending the review request.

#### Step 2: Select a review service

Once you have chosen a reviewer or service, select it:

```http theme={null}
POST /Agent/Legal/SelectReviewService
Authorization: Bearer {token}
Content-Type: application/json

{
  "legalId": "<your legal identity ID>",
  "serviceId": "<service ID>",
  "serviceProvider": "<service provider ID>"
}
```

#### Step 3: Authorize access to your identity

Before sending the review request, explicitly grant the reviewer access to your application data:

```http theme={null}
POST /Agent/Legal/AuthorizeAccessToId
Authorization: Bearer {token}
Content-Type: application/json

{
  "legalId": "<your legal identity ID>",
  "remoteId": "<reviewer's legal identity ID>",
  "authorized": true
}
```

You can revoke this access at any time by setting `authorized` to `false`.

#### Step 4: Send the peer review petition

```http theme={null}
POST /Agent/Legal/PetitionPeerReview
Authorization: Bearer {token}
Content-Type: application/json

{
  "legalId": "<your legal identity ID>",
  "remoteId": "<reviewer's legal identity ID>",
  "keyId": "<your key local name>",
  "keyNamespace": "<your key namespace>",
  "keyPassword": "<key password>",
  "purpose": "Please review my identity application."
}
```

The reviewer receives the petition and can approve or reject it. Their decision is attached to the identity object and is visible to future auditors.

## Monitoring approval status

Status changes are pushed to the account asynchronously. Use either method below:

**Poll for messages:**

```http theme={null}
POST /Agent/Xmpp/PopMessages
Authorization: Bearer {token}
```

**Fetch the identity directly:**

```http theme={null}
POST /Agent/Legal/GetIdentity
Authorization: Bearer {token}
Content-Type: application/json

{ "legalId": "<legal identity ID>" }
```

## Identity states

| State         | Meaning                                                |
| ------------- | ------------------------------------------------------ |
| `Created`     | Application submitted, awaiting review                 |
| `Approved`    | Identity approved — ready to use                       |
| `Rejected`    | Application rejected — re-apply with corrections       |
| `Obsoleted`   | Superseded by a newer identity                         |
| `Compromised` | Identity flagged as compromised — re-apply immediately |

Once the state is `Approved`, the wallet associated with the account is automatically created and ready to use.

## Common pitfalls

* Review messages from the reviewer may arrive asynchronously via `PopMessages` — check them for rejection reasons.
* An identity application with missing required properties will be rejected at review time, not at submission time.
* If a Neuron requires ISO 3166 country codes, non-standard codes will cause rejection.

## Next steps

* [Contracts flow](/neuron-api/guides/contracts-flow) — use your approved identity to create and sign smart contracts.
* [Tokens flow](/neuron-api/guides/tokens-flow) — query and manage Neuro-Feature tokens.
