Impinj IoT Device Interface FAQ

This support article lists the most frequently asked questions (FAQs) for the Impinj IoT device interface.

What is the Impinj IoT interface?

The Impinj IoT interface is an on-reader interface that enables IoT developers to quickly and simply build applications to configure, and control devices, and to consume RAIN data from Impinj readers.

For more details on what's included in the Impinj IoT interface, check out the following resources.

How do I enable the Impinj IoT device interface or the Impinj LLRP interface?

  • Method 1: Navigate to the Impinj R700 web UI at http://<impinj-xx-xx-xx or IP address>, select desired interface from the "Available Interfaces" drop-down menu in the READER INTERFACE section.
  • Method 2: Use the /system/rfid/interface REST API endpoint to set the interface: 
    • Example cURL command:
    • curl -u root:impinj -k -X PUT https://<hostname or ip address>/api/v1/system/rfid/interface -d "{\"rfidInterface\":\"rest\"}"
  • Method 3: Use an RShell command to set the interface:
    • config rfid interface llrp
      config rfid interface rest

How do I access the API documentation?

You can access the API documentation here.

How do I access the system endpoints?

System endpoints are available in the Impinj R700 firmware 7.4 or later. All system configuration endpoints require basic authentication and can only be accessed over HTTPS (see how to enable HTTPS on the Impinj R700). Once HTTPS is enabled on the reader, you can use the following system endpoints prefix to access them:


For example, you can quickly retrieve the reader hostname by the following curl command:

> curl -u root:impinj -k https:impinj-xx-xx-xx/api/v1/system/hostname

For more details, please refer to the API documentation.
How do I enable HTTPS on the Impinj R700?

Please refer to this support article.

I’m getting a 404 error.  What does this mean and how do I work around it?

A 404 response indicates the requested resource was not found on the reader. This could mean the URL is incorrect or that the IoT interface is not enabled. To remedy this,

What is the default behavior for HTTP/HTTPS (IoT interface) in different Impinj R700 firmware versions?

7.4.1 and later: The Impinj R700 will by default have HTTP enabled, HTTPS disabled, and basic authorization disabled.

7.4: The Impinj R700 will enable HTTPS and require basic authorization by default. HTTP access is now disabled by default.

7.3 and before: The Impinj R700 will by default have HTTP enabled, HTTPS disabled, and basic authorization disabled.

Can I use Impinj LLRP interface and Impinj IoT interface at the same time?

The RFID operation of the reader can only be controlled by one interface at a time. When configured to use the Impinj IoT interface the LLRP connection is disabled, and vice versa.

The /system endpoints are always on and can be utilized as long as the reader is configured to use HTTPS and basic authorization.

What programming languages can I use to communicate with the Reader Configuration REST API?

Any language that has available HTTP client classes or libraries may be used. Common examples: C/C++ (libcurl), C# .NET (HttpClient class), Java (HttpClient class), python (http.client), Javascript (Axios/Fetch/Request).

What firmware version is required to use the Impinj IoT interface?

The Impinj IoT interface was introduced in firmware version 7.3 (reader configuration REST API v1.2), but we recommend that you upgrade to the latest firmware version to take advantage of the latest features.
I see MQTT and Kafka are available in the Impinj IoT interface. Can the reader subscribe to MQTT or Kafka topics?

Currently, the Impinj IoT interface only offers publishing functionality for MQTT and Kafka, and cannot subscribe to topics.

How many HTTP streaming clients can connect to the /data/stream endpoint simultaneously?

Up to 5 HTTP streaming clients can read from the /data/stream endpoint simultaneously. If a 6th client attempts to connect, the connection will succeed and disconnect the oldest connected client.

Is device configuration supported on the Impinj IoT interface?

Yes, a number of device configuration features were added under the /system endpoints after firmware version 7.4 (API version 1.3). See the Reader Configuration REST API documentation for a full list of the latest features.

Is the reader configuration REST API the same as the RAIN Communication Interface (RCI)?

No. The reader configuration REST API is owned and maintained by Impinj and is separate from RCI. The Impinj R700 does not support RCI.

Is any license required to access the APIs?

No additional licensing is required in order to use the Impinj IoT interface.

Can I utilize the Impinj IoT interface with other Impinj software libraries? (e.g., Octane SDK, Octane LTK, Impinj R700 ETK?)

Enabling the Impinj IoT interface disables the LLRP interface on the reader. This means that the Impinj Octane SDK and Impinj Octane LTK will no longer be able to communicate with the reader. However, the Impinj R700 ETK contains the pre-compiled libraries and the tools required to develop on-reader applications, which can be used with the Impinj IoT interface to develop on reader applications using the reader configuration REST API.

Is there any installation necessary to use the IoT interface?

No installation is required to utilize the Impinj IoT interface. The interface is included on all Impinj R700 readers with firmware version 7.3 or later. 

Is the IoT interface available for Impinj Speedway R420/R220 RAIN RFID readers?

No, the Impinj IoT interface is currently only supported on the Impinj R700.

What’s the maximum buffer and tag cache size?

The maximum buffer size is 300,000. The maximum tag cache is 8192.

Was this article helpful?
3 out of 3 found this helpful



Article is closed for comments.