> 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/get-started/sdks.md).

# SDKs & SDK-less

IDlayr's mobile SDKs are required for the two device APIs that need a carrier-pinned data path on the device: **Secure SNA** and **Discovery**. They handle the work that can't run from a backend — forcing the verification request over the cellular data path, following redirect chains, parsing the verification code, and surfacing client-side errors.

Backend APIs **do not need an SDK**. Call them directly from your server using OAuth2 client credentials:

* **SIM Swap** and **Eligibility** are pure backend products with no device-side step.
* **Reverse SMS** is a backend product whose device-side step is your app opening the native SMS composer via the standard `sms:` URL scheme — no IDlayr code on the device.

If you're only integrating backend products, you can skip this section. See [Your first IDlayr API call](/guides/your-first-api-call.md) for a quick cURL smoke test of a backend integration.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>iOS SDK</strong><br><code>Swift</code> <code>IDlayrKit</code></td><td>Swift 5.9, iOS 13+. Distributed via private Cloudsmith Swift Package Registry or CocoaPods. Covers Secure SNA and Discovery.</td><td><a href="/pages/U92qYc3e7fg2SMrIb9ol">/pages/U92qYc3e7fg2SMrIb9ol</a></td></tr><tr><td><strong>Android SDK</strong><br><code>Kotlin</code> <code>idlayr-sdk-android</code></td><td>Kotlin, minSdk 24, targetSdk 36, Java 11. Distributed via private Cloudsmith Maven. Covers Secure SNA and Discovery.</td><td><a href="/pages/uyWOQl2itFiojOeDTHY7">/pages/uyWOQl2itFiojOeDTHY7</a></td></tr><tr><td><strong>SDK errors</strong><br><code>Cross-platform</code></td><td>The five client-side error codes the SDKs can return before any HTTP request reaches IDlayr, with the recommended action per code.</td><td><a href="/pages/48paumjPwRmJdTTJoiin">/pages/48paumjPwRmJdTTJoiin</a></td></tr><tr><td><strong>SDK versioning</strong><br><code>SemVer</code></td><td>How the SDKs are versioned, why iOS and Android version independently, and how SDK versioning relates to the v1 API contract.</td><td><a href="/pages/02ZSMtzysEHCtfIWKeac">/pages/02ZSMtzysEHCtfIWKeac</a></td></tr></tbody></table>

## How the SDKs are distributed

Both SDKs are distributed as **private binaries via Cloudsmith**. You can't fetch them from a public package registry — you need a **Cloudsmith entitlement token**, which your IDlayr account team shares during onboarding.

The entitlement token is a **build-time credential**: it authenticates your build system to Cloudsmith so it can resolve the SDK package. Store it as a build-environment secret (e.g. `CLOUDSMITH_TOKEN` in CI). Never commit it to source control or embed it in a published app artefact.

**The entitlement token is a build-time credential only.** It is not used at runtime, it is not the same as the OAuth2 credentials your backend uses to call the IDlayr API, and it should never be embedded in source control or in a published app binary. For how your backend authenticates to the API at runtime, see [Authentication](/get-started/authentication.md).

## Quick install summary

The per-platform pages have the full configurations. At a glance:

* **iOS — `IDlayrKit`.** Swift 5.9, iOS 13+. Add as a Swift Package from the private Cloudsmith Swift Package Registry, or as a Pod from the private Cloudsmith CocoaPods Specs repository. See [iOS SDK](/get-started/sdks/ios.md).
* **Android — `idlayr-sdk-android`.** Kotlin, `minSdk 24`, `targetSdk 36`, Java 11. Add the private Cloudsmith Maven repository to your Gradle build and reference the `com.idlayr:idlayr-sdk-android` artefact. Auto-initialises via Android `ContentProvider` — no `initializeSdk(...)` call required. See [Android SDK](/get-started/sdks/android.md).

## Migrating from `tru-sdk-ios` / `tru-sdk-android`

If you're on the legacy tru.ID SDKs, the package names, distribution channels, and import paths all change in v1. See the [v0.x → v1 migration guide](/guides/migration.md).

## Next steps

* For Secure SNA on iOS end-to-end, see [Quickstart](/get-started/quickstart.md).
* For backend-only products (SIM Swap, Eligibility, Reverse SMS), you don't need an SDK — see [Your first IDlayr API call](/guides/your-first-api-call.md) for a cURL walkthrough.


---

# 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/get-started/sdks.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.
