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

# Read a customer's status

> Tell whether a declined, suspended or stalled customer can try again, and what to do next, from the customer status and the verification status.

Two statuses decide what happens next. The **customer status** says whether the customer can transact. The **verification status**, shown as **Identification Status**, says where their latest KYC or KYB stands. Read both before you tell your customer anything.

**Customers** shows both, in the **Status** and **Identification** columns, and filters on either one. The **Compliance Review** panel shows the verification status under **Identification Details**.

## Verification status

| Identification Status | What it means | Final? | What to do |
| - | - | - | - |
| **Pending** | Verification is open and the customer still has steps to finish | No | Send the **KYC & Terms link**. See [Resume a stalled onboarding](https://dev.enterprise.moonpay.com/finish-onboarding.md) |
| **Pending**, item rejected and marked **Retryable** | Compliance asked for a correction | No | Pass on the reject reason and resend the link, or upload a replacement. See [Resolve rejected documents](https://dev.enterprise.moonpay.com/rejected-documents.md) |
| **Processed** | The customer submitted, and the submission is being checked | No | Wait. If **Requirements** still lists missing items, the customer has more to submit |
| **Pending Review** | Compliance is reviewing | No | Nothing. The tooltip reads "No further user action needed" |
| **Approved** | Verification passed | | Check the customer status and their [rails](https://dev.enterprise.moonpay.com/rail-unavailable.md) |
| **Declined** | Compliance rejected the verification | **Yes** | See [Declined](#declined) |
| **Expired** | 7 days without progress | No | See [Extend an expired KYC](https://dev.enterprise.moonpay.com/expired-kyc.md) |
| **Archived** | Closed when the customer or the identification was archived | **Yes** | Nothing |

**Compliance** > **Change Requested** holds customers with a rejected item of either kind. Check **Retryable** on the item and the **Identification Status** before you message the customer.

### Declined

**Declined** is a final decision on that verification, and its items are not retryable. The customer's old verification link stops working, so don't resend it.

**Create new KYC** starts a new verification, which compliance reviews from scratch. A hard rejection by compliance applies to the person, not the customer record: a new KYC, or a new customer for the same person, won't change the outcome. The dashboard doesn't show which kind of rejection applied, so contact [support](https://dev.enterprise.moonpay.com/support.md) before you promise your customer another attempt.

## Customer status

| Customer status | What it means | What to do |
| - | - | - |
| `SigningsRequired` | Terms are not signed yet | Send the **KYC & Terms link**, which covers signing |
| `IdentificationRequired` | Verification is not finished, or a review or RFI paused the customer | Follow the verification status above, and check **Compliance** > **RFIs**. See [Customer with an RFI pending](https://dev.enterprise.moonpay.com/rfi-pending.md) |
| `Active` | The customer can transact | Check which [rails](https://dev.enterprise.moonpay.com/rail-unavailable.md) are open for them |
| `Suspended` | The customer can't transact | See [Suspended](#suspended) |
| `Archived` | Permanently closed | Nothing. Archiving can't be undone |

### Suspended

The reason for a suspension is not shown in the dashboard or the API, and a new verification doesn't lift it. If the customer has an open request in **Compliance** > **RFIs**, answer it first. Otherwise contact [support](https://dev.enterprise.moonpay.com/support.md) with the customer ID.

## Do it over the API

| Check | Endpoint |
| - | - |
| Customer status | `GET /api/customers/{id}`, `status` |
| Verification status and EDD flag | `GET /api/identifications/{id}` |
| Rejected items and whether they are retryable | `GET /api/customers/{id}/requirements`, `issues[].retryable` |

`retryable` is `true` when the customer can correct and resubmit, `false` when the issue is final, and `null` when it isn't known. Don't treat `null` as permission to retry. See [Mapping onboarding statuses in your app](https://dev.enterprise.moonpay.com/onboarding.md#mapping-onboarding-statuses-in-your-app).

Subscribe to the `customer_status` and `identification_status` [webhooks](https://dev.enterprise.moonpay.com/webhooks.md) to hear about changes as they happen.
