The evrythng-java-sdk SDK allows easy integration of the EVRYTHNG Platform into Java applications. There are functions available for most API operations, and enabled manipulation of Platform resources in a buildable, type-safe manner.


Add the evrythng-java-sdk to either a Maven or Gradle project as required (where X.Y is the latest version available on the Releases page of the GitHub repository).




apply plugin: 'java'

repositories {

dependencies {
    compile group: 'com.evrythng', name: 'evrythng-java-wrapper', version: 'X.Y'


Much like the evrythng.js SDK, operations are carried out using an object representing the authorizing API key. In this case an ApiManager object must first be initialised using the appropriate API key.

For example, to authenticate as an Operator or application:

final ApiManager operator = new ApiManager("$OPERATOR_API_KEY");

final ApiManager application = new ApiManager("$APPLICATION_API_KEY");

An example of using the ApiManager object to read all projects in an account:

final List<Project> projectList = operator.projectService().projectsReader().execute();

for(Project project : projectList) {

Android Support

The EVRYTHNG Java SDK can be used with the Android SDK to connect to the
Platform from within Android apps. However, there is a small caveat to avoid
conflicting with certain built-in Android libraries.

To successfully build your Android app with the EVRYTHNG Java SDK, add the
following object to the android object in your app.gradle file:

packagingOptions {
    exclude 'META-INF/LICENSE'

Note: Excluding the LICENSE file may affect your ability to distribute the app.

 Function Reference

The functions listed below make up the majority of the SDK's API useful for most typical implementations. Each is accessed from an instance of ApiManager, and must be launched using a final execute() method in the chain.

For more advanced users, there are some more functions available upon inspection through IDE completion features.

In each case (...) denotes various parameters are required or accepted for that function call.

 Actions and Action Types

.actionService().actionTypeCreator(...);  // Create an action type
.actionService().actionTypesReader();     // Read all action types
.actionService().actionTypeUpdater(...);  // Update an action type
.actionService().actionTypeDeleter(...);  // Delete an action type

.actionService().actionCreator(...);      // Create an action
.actionService().actionReader(...);       // Read an action
.actionService().iterator();              // Read all actions
.actionService().actionDeleter(...);      // Delete an action


.applicationService().applicationCreator(...);  // Create an application
.applicationService().applicationReader(...);   // Read an application
.applicationService().applicationsReader(...);  // Read all applications
.applicationService().applicationUpdater(...);  // Update an application
.applicationService().applicationDeleter(...);  // Delete an application

.applicationService().oauthClientCreator(...);  // Create OAuth client
.applicationService().oauthClientReader(...);   // Read an OAuth client
.applicationService().oauthClientUpdater(...);  // Update an OAuth client
.applicationService().oauthClientDeleter(...);  // Delete an OAuth client

Authentication (Devices and Application Users)

.authService().thngRegistrator(...);            // Create Thng's Device API Key
.authService().thngRegistrationReader(...);     // Read Thng's Device API Key
.authService().thngRegistrationDeleter(...);    // Delete Thng's Device API Key

.authService().evrythngUserCreator(...);        // Create an Application User
.authService().evrythngUserValidator(...);      // Activate Application User
.authService().evrythngUserAuthenticator(...);  // Log an Application User in
.authService().authLogouter().apiKey(...);      // Log an Application User out


.batchService().batchCreator(...);  // Create a batch
.batchService().batchReader(...);   // Read a batch
.batchService().batchesReader();    // Read all batches
.batchService().batchUpdater(...);  // Update a batch
.batchService().batchDeleter(...);  // Delete a batch

.batchService().taskCreator(...);   // Create a task
.batchService().taskReader(...);    // Read a task
.batchService().tasksReader();      // Read all tasks

.batchService().logsReader(...);    // Read task logs


.collectionService().collectionCreator(...);  // Create a collection
.collectionService().collectionReader(...);   // Read a collection
.collectionService().collectionsReader();     // Read all collections
.collectionService().collectionUpdater(...);  // Update a collection
.collectionService().collectionDeleter(...);  // Delete a collection

.collectionService().actionCreator(...);      // Create a collection action
.collectionService().actionReader(...);       // Read a collection action
.collectionService().actionsReader();         // Read all collection actions

.collectionService().thngsAdder(...);         // Add Thngs to a collection
.collectionService().thngAdder(...);          // Add a Thng to a collection
.collectionService().thngsReader(...);        // Read Thngs in a collection
.collectionService().thngsRemover(...);       // Remove Thngs from a collection
.collectionService().thngRemover(...);        // Remove a Thng from a collection

.collectionService().childrenCollectionsAdder(...);    // Add collections to a collection
.collectionService().childCollectionAdder(...);        // Add a collection to a collection
.collectionService().childrenCollectionsReader(...);   // Read collections in a collection
.collectionService().childrenCollectionsRemover(...);  // Remove collections from a collection
.collectionService().childCollectionRemover(...);      // Remove a collection from a collection


.filesService().fileCreator(...);  // Create a file
.filesService().fileReader(...);   // Read a file
.filesService().filesReader();     // Read all files
.filesService().fileDeleter(...);  // Delete a file

Identifier Recognition

.scanThngService().recognitionCreator(...);  // Scan an image for identifiers


.placeService().placeCreator(...);  // Create a place
.placeService().placeReader(...);   // Read a place
.placeService().placesReader();     // Read all places
.placeService().placeUpdater(...);  // Update a place
.placeService().placeDeleter(...);  // Delete a place


.productService().productCreator(...);  // Create a product
.productService().productReader(...);   // Read a product
.productService().iterator();           // Read all products
.productService().productUpdater(...);  // Update a product
.productService().productDeleter(...);  // Delete a product

.productService().propertiesCreator(...);   // Create product properties
.productService().propertiesReader(...);    // Read product properties
.productService().propertiesIterator(...);  // Read a product property
.productService().propertyUpdater(...);     // Update a product property
.productService().propertiesDeleter(...);   // Delete product properties

.productService().actionCreator(...);      // Create a product action
.productService().actionsReader(...);      // Read all product actions
.productService().actionReader(...);       // Read a product action


.projectService().projectCreator(...);  // Create a project
.projectService().projectReader(...);   // Read a project
.projectService().projectsReader();     // Read all projects
.projectService().projectUpdater(...);  // Update a project
.projectService().projectDeleter(...);  // Delete a project


.redirectorService().redirectorRulesReader();      // Read account Redirector
.redirectorService().redirectorRulesReader(...);   // Read an application Redirector
.redirectorService().redirectorRulesUpdater(...);  // Update account/application Redirector


.thngService().thngCreator(...);        // Create a Thng
.thngService().thngReader(...);         // Read a Thng
.thngService().iterator();              // Read all Thngs
.thngService().thngUpdater(...);        // Update a Thng
.thngService().thngDeleter(...);        // Delete a Thng

.thngService().propertiesCreator(...);   // Create Thng properties
.thngService().propertiesReader(...);    // Read Thng properties
.thngService().propertiesIterator(...);  // Read a Thng property
.thngService().propertyUpdater(...);     // Update a Thng property
.thngService().propertyDeleter(...);     // Delete a Thng property

.thngService().actionCreator(...);      // Create a Thng action
.thngService().actionReader(...);       // Read a Thng action
.thngService().actionsReader();         // Read all Thng actions

.thngService().locationUpdater(...);    // Update Thng location
.thngService().locationReader(...);     // Read Thng location
.thngService().locationDeleter(...);    // Delete Thng location


.timeService().timeReader();  // Read the current time

Updated 2 years ago


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.