> For the complete documentation index, see [llms.txt](https://docs.payr.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payr.com/updates-and-idempotency.md).

# Updates and Idempotency

The `/onboarding/` endpoint is safe to call multiple times for the same user. Here is exactly what gets updated on repeat calls:

#### User (matched by `student_id`)

| Field           | On Create | On Update   |
| --------------- | --------- | ----------- |
| `email`         | Set       | **Updated** |
| `phone_number`  | Set       | **Updated** |
| `first_name`    | Set       | Not updated |
| `last_name`     | Set       | Not updated |
| `date_of_birth` | Set       | Not updated |

#### Tenancy (matched by `student_id` + `start_rent_date` + `payment_reference` + `address_1`)

| Field            | On Create           | On Update         |
| ---------------- | ------------------- | ----------------- |
| `end_rent_date`  | Set                 | **Updated**       |
| `amount`         | Set                 | **Updated**       |
| `frequency`      | Set                 | **Updated**       |
| All other fields | Set                 | Not updated       |
| `agreement`      | Downloaded & stored | Not re-downloaded |

#### KYC Documents

| Behavior         | Description                                                             |
| ---------------- | ----------------------------------------------------------------------- |
| First call       | KYC session and extra details (photo, ID docs) are created              |
| Subsequent calls | Existing KYC data is **not overwritten** — returns the existing records |

> **Note:** If you need to update KYC documents or other immutable fields after the initial onboarding, contact **<support@mypayr.co.uk>**.

***
