Keyple Interop JSON API Client Library


The Keyple Interop JSON API Client Library is a Kotlin Multiplatform client library designed to facilitate communication between non-Keyple client applications and Keyple servers.

It implements the Keyple Server JSON API and the Selection JSON Specification, enabling seamless data exchange over HTTP.

This library is fully compatible with Windows, Linux, macOS, Android and iOS platforms, allowing applications on these devices to easily interact with Keyple servers and access the full functionality of the Keyple ecosystem.


Kotlin Multiplatform components

Documentation

Download

Here is a summary table describing the purpose and usage of each target module generated by this Kotlin Multiplatform library, including the root (no-suffix) module and platform-specific variants:

Artifact IDFormatPurposeMain Use Case
keyple-interop-jsonapi-client-kmp-lib.jarCommon code shared across all platformsUsed by multiplatform consumers to pull platform variants
keyple-interop-jsonapi-client-kmp-lib-jvm.jarNon-Android JVM applicationsUsed in backend apps, desktop apps, or CLI
keyple-interop-jsonapi-client-kmp-lib-android.aarProduction Android appsIntegrated into final APK/AAB builds
keyple-interop-jsonapi-client-kmp-lib-iosarm64.klibReal iOS devices (ARM64 architecture)Required for running the app on physical iPhones
keyple-interop-jsonapi-client-kmp-lib-iossimulatorarm64.klibiOS Simulator on Apple Silicon Macs (ARM64)Used for development/testing on simulators on M1/M2 Macs
keyple-interop-jsonapi-client-kmp-lib-iosx64.klibiOS Simulator on Intel-based Macs (x86_64)Used for development/testing on simulators on Intel Macs
iOS artifactTBDiOS applicationsIntegrated directly into final iOS apps

Key Notes:

  • The root module serves as the entry point for consumers. When you add implementation("[root-lib]"), Gradle automatically selects the correct variant (jvm, android, etc.) based on the target platform.
  • The platform-specific modules (android, jvm, etc.) contain compiled code that can be executed or packaged directly.

All deliverables are available directly from the Maven Central Repository or by using one of the project resource managers below:

implementation("org.eclipse.keyple:[ARTIFACT_ID]:0.1.6")
implementation 'org.eclipse.keyple:[ARTIFACT_ID]:0.1.6'
<dependency>
  <groupId>org.eclipse.keyple</groupId>
  <artifactId>[ARTIFACT_ID]</artifactId>
  <version>0.1.6</version>
</dependency>
Next