# Sync the Bank Ramp Customer

> Coming soon, upon request — this feature is turned on for your tenant by the Aurea team. [Contact us](https://www.aureahub.com/contact)

Have Aurea read the user's customer at the bank ramp now, and answer what it keeps.

## Overview

- Aurea reads the customer at the bank ramp and keeps what it says, along the moves the bank ramp documents — forward, and back only where it says (`pending` → `incomplete`, `review` → `pending` or `incomplete`, any state → `closed`). A state outside them is kept out: the customer keeps its state.
- A customer the bank ramp never confirmed (`registered: false`) is created again with its own id.
- **A customer made on the hosted pages** is read with the user's own authorization: this call is how your app learns its state, since that mode has no notifications. `409` `BANK_RAMP_AUTHORIZATION_EXPIRED` means the authorization ended — the user authorizes again ([Start Hosted Onboarding](https://docs.aureahub.com/docs/bank-customer-authorize.md)); `404` `BANK_RAMP_AUTHORIZATION_NOT_FOUND`, that it was forgotten.
- `404` `BANK_RAMP_CUSTOMER_NOT_FOUND` without a customer; `503` `BANK_RAMP_NOT_CONFIGURED` without your tenant's bank ramp connected; the bank ramp's own refusals and outages as in [Create a Customer](https://docs.aureahub.com/docs/bank-customer-create.md).
- The answer is the one of [Get the Customer](https://docs.aureahub.com/docs/bank-customer-get.md). The body may be left out (production).

## Endpoint

### `POST /v1/ramp/bank/customer/sync`

Authentication: bearer token required.

Reads the user's customer at the bank ramp now and answers it.

**Request body**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `isTestnet` | boolean | no | `true` for the sandbox; `false`, omitted or no body for production |

**Responses**

`200` OK

```json
{
  "environment": "sandbox",
  "customer": {
    "customerId": "2f6c1e84-5b3a-4d97-8e21-0c4a7b9d3f15",
    "profileId": "8d4e2a17-6c3b-4f58-9a0e-1b7c5d3e2f49",
    "kind": "personal",
    "environment": "sandbox",
    "registered": true,
    "state": "approved",
    "sections": {
      "details": "approved",
      "form": "approved",
      "verifications": [
        { "kind": "idDocument", "state": "approved" },
        { "kind": "sourceOfFunds", "state": "approved" }
      ]
    },
    "closedReason": null,
    "errorFields": [],
    "createdAt": "2026-10-14T09:00:00.000Z",
    "updatedAt": "2026-10-14T11:02:40.000Z"
  },
  "verification": { "state": "approved", "nextStep": "approved", "missing": [], "kycStrategy": "reliance" }
}
```

`404` No customer

```json
{
  "statusCode": 404,
  "error": "NotFoundError",
  "message": "This user is no customer of the bank ramp in sandbox: create one first.",
  "details": { "code": "BANK_RAMP_CUSTOMER_NOT_FOUND", "environment": "sandbox" }
}
```

`409` Authorization ended

```json
{
  "statusCode": 409,
  "error": "BankRampProviderError",
  "message": "The user's authorization at the bank ramp has ended: the user authorizes again",
  "details": { "code": "BANK_RAMP_AUTHORIZATION_EXPIRED", "providerStatus": 400 }
}
```

---

Web version: https://docs.aureahub.com/#bank-customer-sync
