Integrate Parakey in your app
Emil Janitzek avatar
Written by Emil Janitzek
Updated over a week ago

Unlocking requires the user to download the Parakey app in order to securely connect to the lock's hardware. Parakey's API and app integration make the experience as simple as possible for your users by either implementing URL app linking or Native app linking.

Parakey assets

We are happy to assist you with assets for your app, such as buttons or the Parakey logo. Please contact us and explain your needs and we will do our best to help you.

URL Query Parameters

There are three valid query parameters for both iOS and Android. All parameters are optional and can be used with both URL app linking and native app linking.


Used to populate the user's email address field of the login screen.


Used for automatically signing in together with the username parameter.


The user will be automatically redirected back to your app after successfully performing an unlock in the Parakey app.

URL app linking

The simplest way to integrate Parakey in your app is through app linking, you can create a link both from your website or within your app. Just add a link to and if the user does not have the app installed they will be forwarded to either App Store for iOS or Google Play for Android. If they have the app installed the app will start instead.

Native app linking

We also support native app linking with URL schemes, this will guarantee the best experience if you have your own app. But it is up to your app to handle cases when the Parakey app isn't installed and guide the user to the correct app store.


Step 1

The deeplink is registered at: parakeyapp://parakey

Step 2
Create a url with params:

let url = URL(string: "parakeyapp://parakey?username=[YOUR USER NAME]&code=[YOUR PASSWORD]&urlscheme=[YOUR APP’s URL SCHEME]")

Step 3 (Optional)

Redirecting back to your app after a successful unlock requires a custom URL scheme.

Create a custom URL scheme in your info.plist by adding a URL types > URL identifier > URL Schemes. This is the value send in your URL string urlscheme=exampleSchem



Step 4
Open the deep link:


Step 1
Create URI from: parakeyapp://parakey

parakeyapp://[email protected]

Step 2
Create Intent with URI:

new Intent(Intent.ACTION_VIEW, unlockURI)

Step 3
Start activity for result

startActivityForResult(parakeyIntent, PARAKEY_REQUEST_CODE)

Step 4
If onActivityResult(...) is called with:

  1. RESULT_OK, then everything went ok
    - In case there are any Parakey-related problems, the application remains in the foreground to allow the user to try again. As soon as we reach a successful operation the user is sent back.

  2. RESULT_CANCEL, then that means the user canceled to process along the way.

Complete code example

public class ParakeyDemoActivity extends Activity {
private void onOpenWithParakeyClick() {
Intent intent = new Intent(
if (intent.resolveActivity(getPackageManager()) == null) {
// Parakey not installed
// Show appropriate message
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PARAKEY_REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) {
//On successful open
} else if (resultCode == Activity.RESULT_CANCEL) {
//If user cancelled along the way

Did this answer your question?