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

# v0.x to v1 breaking changes

This page enumerates every breaking change in IDlayr v1 relative to the v0.x APIs. It's the changelog for the version transition. For the step-by-step how-to with before/after request examples, see [Migrate from v0.x to v1](/guides/migration.md).

For the policy that governs why these changes required a major bump in the first place, see [API versioning](https://docs.idlayr.com/get-started/concepts/api-versioning).

## Product renames

Four v0.x products keep their semantics but ship under new names in v1.

| v0.x name                             | v1 name     |
| ------------------------------------- | ----------- |
| PhoneCheck                            | Secure SNA  |
| MOCheck                               | Reverse SMS |
| SIMCheck                              | SIM Swap    |
| Coverage (a.k.a. Device Reachability) | Eligibility |

The product semantics, callback shapes, and result fields are preserved across the rename — what changes is the name, the URI, and (where applicable) the scope.

## URI structure changes

All endpoints sit under a single `/v1/` prefix in v1. Two structural moves apply on top of the prefix change:

**A `/v1/number-verification/` namespace** groups products that share the number-verification mechanism family. Secure SNA, Reverse SMS, and Discovery all live under this prefix in v1, even though their v0.x predecessors lived in separate, sibling URI roots. Rationale and convention are spelled out under [URL design on the API versioning page](https://docs.idlayr.com/get-started/concepts/api-versioning).

**Resource-based paths** — URLs name resources, not actions. `/v1/sim-swap/checks/{check_id}` rather than `/v1/check-sim`.

Endpoint-by-endpoint:

| Product                       | v0.x URI                                     | v1 URI                                          |
| ----------------------------- | -------------------------------------------- | ----------------------------------------------- |
| Secure SNA (PhoneCheck)       | `/phone_check/v0.2/checks`                   | `/v1/number-verification/secure-sna-checks`     |
| Reverse SMS (MOCheck)         | `/mo_check/v0.1/checks`                      | `/v1/number-verification/reverse-sms-checks`    |
| SIM Swap (SIMCheck)           | `/sim_check/v0.1/checks`                     | `/v1/sim-swap/checks`                           |
| Eligibility — by phone number | `/coverage/v0.1/phone_number/{phone_number}` | `/v1/eligibility/phone-numbers/{phone_number}`  |
| Eligibility — by IP           | `/coverage/v0.1/device_ip`                   | `/v1/eligibility/device-ips/{ip}`               |
| OAuth2 token                  | `/oauth2/v1/token`                           | `/oauth2/token` (un-versioned alongside `/v1/`) |

Path segments are kebab-case throughout v1 (`reverse-sms-checks`, not `reverse_sms_checks`).

## Removed APIs

Four v0.x product surfaces are not carried into v1.

* **SubscriberCheck** (`/subscriber_check/v0.x`) — removed. The combined PhoneCheck-plus-SIMCheck behaviour can be reconstructed by calling Secure SNA and SIM Swap independently.
* **Public Device IP endpoint** — removed. The IP-based reachability check moves to `/v1/eligibility/device-ips/{ip}`; the standalone Device IP utility is no longer exposed.
* **Traces** (`/{product}/v0.x/checks/{check_id}/traces`) — removed. Per-check trace inspection moves to the [Enterprise Portal verification logs](https://docs.idlayr.com/enterprise-portal/verification-logs).
* **Country Coverage**, **Payments**, **Usage**, **Analytics**, **Members**, **OIDC** — all removed. None of these surfaces was carrying its weight in v0.x and they're not part of the v1 product surface.

## Removed fields

Within endpoints that *are* carried into v1, several response fields are removed.

* **`subscriber` block** on the former SubscriberCheck-style responses — gone with SubscriberCheck.
* **Billing fields** — `charge_amount`, `charge_currency`, and `snapshot_balance` are removed from every Check response and callback in v1. Billing is no longer exposed on the API surface; usage information lives in the Enterprise Portal.

## Error model

v1 errors are emitted as [RFC 7807](https://datatracker.ietf.org/doc/html/rfc7807) problem-detail responses (`application/problem+json`), with a stable machine-readable `error_code` field and a `type` URI that resolves to the [canonical errors page](https://docs.idlayr.com/api-reference/errors). v0.x clients that parsed errors out of an ad-hoc JSON envelope need to update their parsing.

The `error_code` catalogue is otherwise additive between v0.x and v1 — codes carrying the same name carry the same semantics.

## Additive in v1 (not breaking, but worth noting)

These don't require any v0.x client to change, but appear here so customers don't miss them when planning a v1 review:

* **Discovery** — a new v1 product in the `/v1/number-verification/` family. No v0.x predecessor in production; integrators previously unfamiliar with Discovery can adopt it natively in v1.
* **`/v1/workspaces/.../credentials`** — Project Credentials are now exposed via the v1 Management API alongside Projects and Workspaces.

## Legacy v0.x maintenance window

The v0.1 and v0.2 endpoints remain operational on **security-only maintenance** — limited to vulnerabilities flagged by IDlayr's internal SAST tooling or Vanta findings. No new features or functional bug fixes land on v0.x.

Specific deprecation dates aren't pre-scheduled; they're announced via the [Changelog](https://docs.idlayr.com/changelog) when set.

***

For the step-by-step how-to with before/after request examples per product, see [Migrate from v0.x to v1](/guides/migration.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.idlayr.com/guides/breaking-changes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
