> This page is for version 2025-12-08.
> For other versions, use one of these documentation indexes:
> - 2026-09-29 (default): https://docs.withpersona.com/2026-09-29/llms.txt
> - 2025-12-08: https://docs.withpersona.com/2025-12-08/llms.txt
> - 2025-10-27: https://docs.withpersona.com/2025-10-27/llms.txt
> - 2023-01-05: https://docs.withpersona.com/2023-01-05/llms.txt
> - 2022-09-01: https://docs.withpersona.com/2022-09-01/llms.txt
> - 2021-07-05: https://docs.withpersona.com/2021-07-05/llms.txt
> - 2021-05-14: https://docs.withpersona.com/2021-05-14/llms.txt
> - 2020-05-18: https://docs.withpersona.com/2020-05-18/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.withpersona.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.withpersona.com/_mcp/server.

## API version: 2026-09-29

### Verifications

* 💥 **`immigration-status` now returns the status text shown on the Home Office share code page**: In [Digital ID UK Share Code Verification](https://docs.withpersona.com/api-reference/verifications/retrieve-a-verification) responses, `immigration-status` now contains the immigration status text exactly as reported by the UK Home Office for that share code (e.g. `"Skilled Worker Route"`, `"Pre-settled Status"`). Previously, the attribute returned a value mapped to a fixed list of recognized statuses, or `valid`/`not valid` computed from the status's validity dates — and `null` when the reported status wasn't on the list.

  **Migration:** The attribute is no longer limited to the previous fixed set of values — handle the status wording as free text in the Home Office's own casing, and use `valid-from-date`/`valid-until-date` for the validity window. Clients matching on the old mapped values (or `valid`/`not valid`) should update their comparisons.

### Webhooks

* 💥 **Webhook `name` is now required when creating Webhooks**: [Create a Webhook](https://docs.withpersona.com/api-reference/webhooks/create-a-webhook) now requires a non-empty `data.attributes.name` — requests that omit `name` or pass `null` are rejected. [Update a Webhook](https://docs.withpersona.com/api-reference/webhooks/update-a-webhook) now rejects an empty `name` when one is supplied; omitting `name` remains supported.

  **Migration:** Include a non-empty `name` when creating a Webhook. Existing Webhooks are unaffected.

### Inquiries

* 🍃 **Add GPS-derived country code to Inquiry Sessions**: Inquiry Session resources now include a `gps-country-code` attribute alongside the existing `gps-latitude`, `gps-longitude`, and `gps-precision` attributes. The value is the uppercase two-letter ISO 3166-1 alpha-2 country code Persona derives by reverse-geocoding the session's GPS coordinates, such as `"US"`. It's available wherever Inquiry Sessions appear, including the [retrieve an Inquiry Session](https://docs.withpersona.com/api-reference/inquiry-sessions/retrieve-an-inquiry-session) and [list all Inquiry Sessions](https://docs.withpersona.com/api-reference/inquiry-sessions/list-all-inquiry-sessions) endpoints, sessions included in [Inquiry](https://docs.withpersona.com/api-reference/inquiries/retrieve-an-inquiry) responses, and the `inquiry-session.*` and `inquiry.*` webhook payloads that carry session data. The attribute is `null` when the session has no GPS coordinates, when reverse geocoding returns no country or fails, and on older sessions recorded before Persona stored this value.

* 🔒 **GPS data is now cleared when an Inquiry Session is redacted**: Redacting an Inquiry Session now clears its GPS coordinates, precision, geocoded country and region values, and the stored raw geocoder response, including from the stored copies of previously delivered webhook bodies and events. Inquiry Sessions redacted before this change retain their GPS data.

### Reports

* 💥 **Business adverse media `related-sources` now returns documented fields with Key-Inflection**: Each `related-sources` entry in Business Adverse Media Report responses now returns only the documented fields (`id`, `name`, `akas`, `match-types`, `sources`, `media`, `birthdates`), and nested keys (`match-types`, `country-codes`, and each source's `country-codes`) now respect the request's `Key-Inflection` header — before this version the response returned all stored fields, always in snake\_case.

  **Migration:** Clients should read only the documented fields, and when requesting camelCase or kebab-case responses use `match-types`/`country-codes` (or `matchTypes`/`countryCodes`) instead of `match_types`/`country_codes`.

### Verifications

* 🍃 **Expose per-side capture method for Government ID Verifications**: Government ID Verifications now include a `capture-methods` object reporting how each side of the ID was captured independently, e.g. `{"front": "api", "back": null}`. The existing `capture-method` attribute is unchanged. See the [Retrieve a Verification](https://docs.withpersona.com/api-reference/verifications/retrieve-a-verification) endpoint for details.